Zuhause Persönliche Finanzen Data Science: Verwenden von Python zum Durchführen von Faktor- und Hauptkomponentenanalyse - Dummys

Data Science: Verwenden von Python zum Durchführen von Faktor- und Hauptkomponentenanalyse - Dummys

Inhaltsverzeichnis:

Video: Technology Stacks - Computer Science for Business Leaders 2016 2024

Video: Technology Stacks - Computer Science for Business Leaders 2016 2024
Anonim

Datenwissenschaftler können Python verwenden, um die Faktor- und Hauptkomponentenanalyse durchzuführen. SVD arbeitet direkt mit den numerischen Werten in Daten, aber Sie können Daten auch als Beziehung zwischen Variablen ausdrücken. Jedes Feature hat eine bestimmte Variation. Sie können die Variabilität als Varianzmaß um den Mittelwert berechnen. Je größer die Varianz ist, desto mehr Informationen enthält die Variable.

Wenn Sie die Variable zusätzlich in eine Menge setzen, können Sie die Varianz von zwei Variablen vergleichen, um festzustellen, ob sie korrelieren. Dies ist ein Maß dafür, wie stark sie ähnliche Werte haben.

Wenn Sie alle möglichen Korrelationen einer Variablen mit den anderen in der Menge prüfen, können Sie feststellen, dass Sie zwei Arten von Varianzen haben können:

  • Eindeutige Varianz: Eine gewisse Varianz ist einzigartig für die zu prüfende Variable. Es kann nicht mit dem verknüpft werden, was mit einer anderen Variablen passiert.

  • Gemeinsame Varianz: Einige Varianzen werden mit einer oder mehreren anderen Variablen geteilt, wodurch Redundanz in den Daten entsteht. Redundanz bedeutet, dass Sie dieselben Informationen mit leicht unterschiedlichen Werten in verschiedenen Funktionen und über viele Beobachtungen hinweg finden können.

Natürlich besteht der nächste Schritt darin, den Grund für die geteilte Varianz zu bestimmen. Der Versuch, eine solche Frage zu beantworten und herauszufinden, wie mit eindeutigen und gemeinsamen Varianzen umzugehen ist, führte zur Erstellung von Faktoren- und Hauptkomponentenanalysen.

In Anbetracht des psychometrischen Modells

Lange bevor viele maschinelle Lernalgorithmen erdacht wurden, versuchte Psychometrie , die psychologische Disziplin, die sich mit psychologischer Messung beschäftigt, eine statistische Lösung zu finden, um Dimensionen effektiv zu messen. in der Persönlichkeit. Die menschliche Persönlichkeit ist, wie bei anderen Aspekten des Menschen, nicht direkt messbar. Zum Beispiel ist es nicht möglich genau zu messen, wie viel eine Person introvertiert oder intelligent ist. Fragebögen und psychologische Tests deuten nur auf diese Werte hin.

Psychologen wussten von SVD und versuchten es auf das Problem anzuwenden. Die geteilte Varianz hat ihre Aufmerksamkeit erregt: Wenn einige Variablen fast gleich sind, sollten sie dieselbe Ursache haben, dachten sie. Psychologen haben Faktorenanalyse erstellt, um diese Aufgabe auszuführen! Anstatt SVD direkt auf Daten anzuwenden, wendeten sie diese auf eine neu erstellte Matrix an, die die gemeinsame Varianz verfolgt, in der Hoffnung, alle Informationen zu verdichten und neue nützliche Funktionen zu erhalten, die fa c tors ..

Auf der Suche nach verborgenen Faktoren

Eine gute Möglichkeit, die Verwendung der Faktorenanalyse zu veranschaulichen, besteht darin, mit dem Iris-Datensatz zu beginnen.

von sklearn. Datensätze importieren load_iris aus sklearn. Zerlegungsimport FactorAnalysis iris = load_iris () X, y = Iris. Daten, Iris. Zielfaktor = FactorAnalysis (n_Komponenten = 4, random_state = 101). fit (X)

Nachdem die Daten geladen und alle Vorhersagemerkmale gespeichert wurden, wird die FactorAnalysis-Klasse mit der Aufforderung initialisiert, nach vier Faktoren zu suchen. Die Daten werden dann angepasst. Sie können die Ergebnisse untersuchen, indem Sie das Attribut components_ beobachten, das ein Array zurückgibt, das Maße für die Beziehung zwischen den neu erstellten Faktoren in Zeilen und den ursprünglichen Features in Spalten enthält.

Am Schnittpunkt jedes Faktors und Merkmals gibt eine positive Zahl an, dass ein positiver Anteil zwischen den beiden existiert; stattdessen weist eine negative Zahl darauf hin, dass sie divergieren und der eine dem anderen widerspricht.

Sie müssen verschiedene Werte von n_components testen, da es nicht möglich ist zu wissen, wie viele Faktoren in den Daten vorhanden sind. Wenn der Algorithmus für mehr Faktoren erforderlich ist als vorhanden, werden im Array components_ Faktoren mit niedrigen Werten generiert.

pandas als pd-Druck-pd importieren. DataFrame (Faktor. Komponenten_, Spalten = Iris. Eigenschaftsnamen) Kelchblattlänge (cm) Kelchblattbreite (cm) Blütenblattlänge (cm) Blütenblattbreite (cm) 0 0. 707227 -0. 153147 1. 653151 0. 701569 1 0. 114676 0. 159763 -0. 045604 -0. 014052 2 0. 000000 -0. 000000 -0. 000000 -0. 000000 3 -0. 000000 0. 000000 0. 000000 -0. 000000

Im Test zum Iris-Datensatz beispielsweise sollten die resultierenden Faktoren maximal 2, nicht 4 sein, da nur zwei Faktoren signifikante Verbindungen mit den ursprünglichen Merkmalen aufweisen. Sie können diese beiden Faktoren als neue Variablen in Ihrem Projekt verwenden, da sie eine unsichtbare, aber wichtige Funktion widerspiegeln, die in den zuvor verfügbaren Daten nur angedeutet wurde.

Verwenden von Komponenten, nicht von Faktoren

Wenn eine SVD erfolgreich auf die allgemeine Varianz angewendet werden konnte, fragen Sie sich möglicherweise, warum Sie sie nicht auf alle Varianzen anwenden können. Mit einer leicht modifizierten Startmatrix könnten alle Beziehungen in den Daten auf ähnliche Weise wie SVD reduziert und komprimiert werden.

Die Ergebnisse dieses Prozesses, die der SVD sehr ähnlich sind, werden Hauptkomponentenanalyse (PCA) genannt. Die neu erstellten Features werden als -Komponenten bezeichnet. Im Gegensatz zu Faktoren werden Komponenten nicht als die eigentliche Ursache der Datenstruktur beschrieben, sondern sind nur umstrukturierte Daten, sodass Sie sie als große, intelligente Summe ausgewählter Variablen betrachten können.

Für Data-Science-Anwendungen sind PCA und SVD sehr ähnlich. Jedoch ist PCA nicht von der Größe der ursprünglichen Merkmale betroffen (weil es auf Korrelationsmaße wirkt, die alle zwischen -1 und +1 Werten gebunden sind) und PCA konzentriert sich auf die Wiederherstellung der Beziehung zwischen den Variablen, wodurch andere Ergebnisse von SVD angeboten werden…

Dimensionalitätsreduktion erreichen

Die Prozedur zum Erhalten einer PCA ist der Faktoranalyse sehr ähnlich.Der Unterschied besteht darin, dass Sie nicht die Anzahl der zu extrahierenden Komponenten angeben. Sie entscheiden später, wie viele Komponenten beibehalten werden sollen, nachdem Sie das Attribut explain_variance_ratio_ überprüft haben, das eine Quantifizierung des informativen Werts jeder extrahierten Komponente ermöglicht. Das folgende Beispiel zeigt, wie Sie diese Aufgabe ausführen:

von sklearn. Dekomposition Import PCA Import Pandas als pd pca = PCA (). fit (X) print 'Erklärte Varianz nach Komponente:% s'% pca. explain_variance_ratio_ print pd. DataFrame (pca. Components_, columns = iris. Feature_names) Erklärte Varianz nach Komponente: [0. 92461621 0. 05301557 0. 01718514 0. 00518309] Kelchblattlänge (cm) Kelchblattbreite (cm) Blütenblattlänge (cm) Blütenblattbreite (cm) 0 0. 361590 -0. 082269 0. 856572 0. 358844 1 -0. 656540 -0. 729712 0. 175767 0. 074706 2 0. 580997 -0. 596418 -0. 072524 -0. 549061 3 0. 317255 -0. 324094 -0. 479719 0. 751121

Bei dieser Zerlegung des Iris-Datensatzes zeigt das durch das erklärte_Varianz_Verhältnis_ bereitgestellte Vektor-Array an, dass der größte Teil der Information in der ersten Komponente konzentriert ist (92,5 Prozent). Es ist daher möglich, den gesamten Datensatz auf nur zwei Komponenten zu reduzieren, was zu einer Reduzierung von Rauschen und redundanten Informationen aus dem ursprünglichen Datensatz führt.

Data Science: Verwenden von Python zum Durchführen von Faktor- und Hauptkomponentenanalyse - Dummys

Die Wahl des Herausgebers

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Bei der Arbeit mit IPv6-Adressen kann es viel Zeit in Anspruch nehmen. schreibe deine Adressen - immerhin sind sie 128 Bit lang. Um das Leben einfacher zu machen, gibt es einige Regeln, die Sie verwenden können, um diese Schreibweise zu verdichten: Führende Nullen in der Adresse sind optional. Für einen Adressblock wäre also 0A45 gleich A45, ...

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkadressierungsarchitektur unterteilt den Adressraum für Internet Protocol Version 4 (IPv4 ) in fünf Adressklassen. Jede Klasse, die in den ersten vier Bits der Adresse codiert ist, definiert entweder eine andere Netzwerkgröße, d.h. e. Anzahl der Hosts für Unicast-Adressen (Klassen A, B, C) oder Multicast-Netzwerk (Klasse D). Die fünfte Klasse (E) address ...

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

In TCP / IP- und UDP-Netzwerken ist ein Port ein Endpunkt eine logische Verbindung. Die Portnummer gibt an, um welchen Port es sich handelt. Port 80 wird beispielsweise für HTTP-Datenverkehr verwendet. Wenn Sie einen Befehl wie netstat -n unter Microsoft Windows oder Linux verwenden, sehen Sie eine Auflistung der lokalen Adressen ...

Die Wahl des Herausgebers

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Wenn Sie ein Anfänger auf dem Dashboard sind Automatisierung in Excel ist es unwahrscheinlich, dass Sie den VBA-Code (Visual Basic für Applikationen) von Hand schreiben können, um Makros zu erstellen. Ohne vollständige Kenntnis des Objektmodells und der Syntax von Excel wäre das Schreiben des benötigten Codes für die meisten Anfänger unmöglich. Hier können Sie ein Makro aufzeichnen ...

Excel-Formelberechnungsmodi - Dummys

Excel-Formelberechnungsmodi - Dummys

Standardmäßig ist Excel so eingestellt, dass es automatisch neu berechnet wird. Wenn Sie eine der Zellen ändern, auf die in einer bestimmten Formel verwiesen wird, berechnet Excel diese Formel automatisch neu, sodass ein korrektes Ergebnis basierend auf den Änderungen in den Zellbezügen zurückgegeben wird. Wenn die Formel, die neu berechnet wird, auch als Zellenreferenz in anderen verwendet wird ...

Excel Formelfehler - Dummies

Excel Formelfehler - Dummies

Es ist nicht immer glatt, wenn Sie mit Excel-Formeln arbeiten. Manchmal gibt eine Formel einen Fehlerwert anstelle des erwarteten Werts zurück. Excel hilft Ihnen, das Problem zu identifizieren, indem Sie einen von sieben Fehlerwerten zurückgeben: # DIV / 0! , # N / A, #NAME? , #NULL! , #NUM! , #REF! und #WERT! , erklärt in der folgenden Liste: # DIV / 0! : ...

Die Wahl des Herausgebers

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

, Wenn Sie mit der Verwendung und Veröffentlichung beginnen Bei Google+ möchten Sie gelegentlich Links und Bilder teilen, die Beiträge anderer freigeben, ihre Beiträge kommentieren und andere in Ihren eigenen Google+ Beiträgen erwähnen. Vielleicht fragen Sie sich auch, wie Sie andere dazu bringen, Ihre eigenen Beiträge öfter zu kommentieren. Teilen von Links und Bildern in Google+ So geben Sie ein ...

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Beiträge auf Google+ sind ganz einfach und können posten Text, Links, Fotos, Videos und sogar Ihren aktuellen Standort. Der schwierigste Teil des Beitrags auf Google+ besteht darin, auszuwählen, wen Sie Ihren Beitrag sehen möchten. Google+ verwendet Ihre Kreise, um festzulegen, wer Ihre Beiträge sehen kann. Kreise sind etwas einfacher als Listen, weil ...

Taggen von Personen in Google+ Fotos - Dummies

Taggen von Personen in Google+ Fotos - Dummies

Sie können Personen in Ihren Kreisen auf jedem Foto auf Google+ markieren. Wenn Sie eine Person in einem Foto taggen, wird diese Person über ihre Google+ Benachrichtigungen benachrichtigt. Sie können dann das Tag entfernen oder genehmigen, und das Foto wird mit dem Tag des Namens dieser Person darin angezeigt. Um jemanden zu markieren, ...