Die Hauptkomponentenanalyse ist ein wesentliches Verfahren zur Dimensionalitätsreduktion beim maschinellen Lernen. Diese Technik beinhaltet eine einfache Matrixoperation aus der Statistik und der linearen Algebra. Der Grund für die Verwendung dieser Methode ist die Berechnung, Analyse der Originaldaten und die Erzeugung einer Projektion in die geringere Dimension. Sie können diese Technik auch verwenden, um die Projektion der gleichen Zahl zu finden. Dieser Artikel hilft Ihnen, das Konzept der Hauptkomponentenanalyse zu verstehen und zeigt Ihnen, wie Sie die Analyse in R und Python durchführen können.

Prinzipal-Komponenten-Analyse

PCA oder Hauptkomponentenanalyse hilft dabei, die Dimensionalität von massiven Datenpunkten in einfachere Formen zu reduzieren. Diese Eigenschaft der PCA macht sie zu einer Methode zur Dimensionalitätsreduktion. Sie funktioniert, indem sie Variablen in kleinere transformiert, indem sie wichtige Informationen des großen Satzes eliminiert.
Wenn Sie die Variablen des Datensatzes reduzieren, verringern Sie die Genauigkeit der Daten. Um den Datensatz zu vereinfachen, müssen Sie das Risiko einer geringeren Genauigkeit in Kauf nehmen.
Kleinere Datensätze helfen Ihnen, den Zustand einfach zu visualisieren und zu untersuchen. Auf diese Weise wird der Algorithmus für maschinelles Lernen die Daten schnell und einfach analysieren und die Relevanz der Daten beibehalten. In einfachen Worten: Die PCA reduziert die Variablen und bewahrt die wichtigen Informationen, um die Daten einfach zu analysieren.

Beispiel für die Hauptkomponentenanalyse

Beispiel für die Hauptkomponentenanalyse in 2D

Sie können das Konzept der Hauptkomponentenanalyse in zwei Dimensionen verstehen. Diese Dimensionen sind Größe und Gewicht. Sie werden den Datensatz in der Ebene als Punkte darstellen. Aber wenn wir die Variationen herauskitzeln, wird die PCA ein neues Koordinatensystem identifizieren. In diesem System wird jeder Punkt einen x- und einen y-Wert enthalten. Es gibt keine physikalische Bedeutung der Achsen. Diese Achsen sind die Hauptkomponenten und Kombinationen von Größe und Gewicht. Auf diese Weise haben auch die einzelnen Achsen eine große Variationsbreite.

Beispiel für die Hauptkomponentenanalyse in 3D

Die Hauptkomponentenanalyse wird noch nützlicher, wenn sie drei Dimensionen hat. Auf diese Weise können Sie die Daten aus verschiedenen Blickwinkeln analysieren. Zum Beispiel können Sie die Daten in 2D betrachten, nachdem Sie sie in der 3D-Ebene geplottet haben. Durch Drehen des Kamerawinkels können Sie die Daten aus dem besten Blickwinkel visualisieren. Die Transformation der PCA sorgt dafür:

  • Es gibt mehr Variationen in der horizontalen Achse oder PC1.
  • Es gibt die zweitmeisten Variationen in der vertikalen Achse oder PC2,
  • Es gibt die wenigsten Variationen in der dritten Achse oder PC3.
    Auf diese Weise können Sie die dritte Achse einfach weglassen. Die Daten in dieser Achse sind nicht so wichtig wie die horizontale Achse und die vertikale Achse in der Ebene.

Hauptkomponentenanalyse in R

Sie können die Hauptkomponentenanalyse in R mit den Funktionen princomp() und prcomp() berechnen. Diese Funktionen ermöglichen eine einfache und überschaubare Analyse. Diese beiden Funktionen unterscheiden sich in den Methoden zur Berechnung der PCA.

Prcomp()-Funktion zur Berechnung der PCA

Sie können diese Methode für die Hauptkomponentenanalyse in R wählen, um genaue Zahlenwerte zu erhalten. Die Methode berechnet die PCA mit Hilfe der Singulärwertzerlegung der Datenmatrix. Es werden keine Eigenwerte der Kovarianzmatrix berücksichtigt.

Princomp()-Funktion zur Berechnung der PCA

Diese Methode verwendet Eigenwerte auf der Kovarianz- oder Korrelationsmatrix. Diese Methode durchläuft die Kompatibilität mit dem S-PLUS-Ergebnis.

  • pilots.pca<-prcomp(pilots[,2:7])
  • pilots.pca
  • ## Standardabweichungen (1, .., p=6):
  • • ## [1] 41.497499 29.637102 20.035932 16.157875 11.353640 7.097781
  • • ##
  • ## Rotation (n x k) = (6 x 6):
  • ## PC1 PC2 PC3 PC4
  • ## Intelligenz 0,21165160 -0,38949336 0,88819049 -0,03082062
  • ## Form.Beziehungen -0.03883125 -0.06379320 0.09571590 0.19128493
  • ## Dynamometer 0.08012946 0.06602004 0.08145863 0.12854488
  • ## Punktierung 0,77552673 0,60795970 0,08071120 -0,08125631
  • ## Sensorik.Motorik.Koordination -0.09593926 -0.01046493 0.01494473 -0.96813856
  • ## Beobachtung 0.58019734 -0.68566916 -0.43426141 -0.04518327
  • ## PC5 PC6
  • ## Intelligenz -0.04760343 -0.10677164
  • ## Form.Beziehungen -0.14793191 0.96269790
  • ## Dynamometer 0,97505667 0,12379748
  • ## Punktieren -0.10891968 0.06295166
  • ## Sensorische.Motor.Koordination 0.10919120 0.20309559
  • ## Wahrnehmung 0.03644629 0.03572141
    Sie können auch mit Hilfe der prcomp()-Zusammenfassungsmethode Ausgaben über den Anteil der Varianz generieren, den die Komponenten erklären.
  • summary(pilots.pca)
  • ## Wichtigkeit der Komponenten:
  • ## PC1 PC2 PC3 PC4 PC5 PC6
  • ## Standardabweichung 41,4975 29,6371 20,0359 16,15788 11,35364 7,09778
  • ## Anteil der Varianz 0,5003 0,2552 0,1166 0,07585 0,03745 0,01464
  • ## Kumulativer Anteil 0,5003 0,7554 0,8721 0,94792 0,98536 1,00000

Hauptkomponentenanalyse in Python

Sie können die scikit-learn-Bibliothek verwenden, um die Hauptkomponentenanalyse des Datensatzes zu berechnen. Dieser Ansatz ist vorteilhaft, weil Sie neue Daten wiederholt anwenden können, um die Projektion nach der Berechnung der Projektion leicht zu finden. Sie geben die Anzahl der Komponenten als Parameter an, während Sie die Klasse erstellen.
Die Klasse wird die erste Anpassung des Datensatzes sein. Sie werden die fit()-Funktion, den aktuellen oder einen anderen Datensatz verwenden und die Dimension wählen, um die transform()-Funktion zu finden. Sie können auf die Hauptkomponenten und Eigenwerte der Hauptkomponentenanalyse mit components_attributes und explained_variance zugreifen. Im folgenden Beispiel erstellen Sie zunächst die Instanz mit Hilfe der Klasse. Dann passen Sie die Daten an eine 3×2-Matrix an. Dadurch erhalten Sie Zugriff auf die Vektoren und Werte der Projektion. Schließlich können Sie die eigentlichen Daten transformieren.

  • from numpy import array
  • from numpy import mean
  • from numpy import cov
  • from numpy.linalg import eig
  • # eine Matrix definieren
  • A = array([[4, 5], [6, 7], [8, 9]])
  • print(A)
  • # den Mittelwert jeder Spalte berechnen
  • M = mean(A.T, axis=1)
  • print(M)
  • # Spalten zentrieren durch Subtraktion der Spaltenmittelwerte
  • C = A – M
  • print(C)
  • # Kovarianzmatrix der zentrierten Matrix berechnen
  • V = cov(C.T)
  • print(V)
  • # Eigene Zerlegung der Kovarianzmatrix
  • Werte, Vektoren = eig(V)
  • print(Vektoren)
  • print(Werte)
  • # Projektdaten
  • P = vectors.T.dot(C.T)
  • print(P.T)
    Indem wir die Beispieldaten auf die 3×2-Matrix anwenden, finden wir die Hauptkomponenten und ihre Werte. Danach werden wir die Projektionen der eigentlichen Matrix finden. Mit dieser Methode werden wir die kleinere Fließkommazahl identifizieren und die gleichen Hauptkomponenten, Projektionen und Singulärwerte erhalten.
  • • [[4 5]
  • • [6 7]
  • • [8 9]][6. 7.]
  • • [[-2. -2.]
  • • [ 0. 0.]
  • • [ 2. 2.]]
  • • [[4. 4.]
  • • [4. 4.]]
  • • [[ 0.70710678 -0.70710678]
  • • [ 0.70710678 0.70710678]]
  • • [8. 0.]
  • • [[-2.82842712 0. ]
  • • [ 0. 0. ]
  • • [ 2.82842712 0. ]]

Fazit

Sie können eine beliebige Programmiersprache wie Python, R, C++ usw. verwenden, um den gesamten Prozess hart zu kodieren und Anwendungen für die Hauptkomponentenanalyse zu finden. Darüber hinaus können Sie auch die Bibliotheken von verschiedenen Anbietern nutzen und die Daten ausführen. Wenn die Komplexität des Problems nicht sehr hoch ist, sollten Sie anstelle von Bibliotheken eine Hard-Code-Technik verwenden. Auf diese Weise können Sie das Back-End analysieren, um Probleme einfach zu verstehen. Wenn Sie die Hauptkomponentenanalyse in R verwenden, können Sie Bibliotheken wie prcomp, princomp, HSAUR und andere verwenden. Dies hilft Ihnen, die Anwendung direkt zu nutzen.