Das Geheimnis von n_components in PCA

  • Wir hören oft auf, Dinge zu bewerten, wenn sie uns bereitwillig gegeben werden.
  • Ähnliches passiert uns bei der Lösung eines Problems mit maschinellem Lernen. scikit-learn verwöhnt Sie so sehr, dass Sie nicht mehr darüber nachdenken, wie ein Algorithmus wirklich funktioniert.
  • Eines schönen Tages fragte mich zufällig jemand, ob Sie eine Feature-Matrix mit 20 Features haben und ob Sie die Dimension reduzieren möchten, welche n_Komponenten Sie auswählen oder wie viele optimale Features Sie zur Darstellung der 20 dimensionalen Daten ohne verwenden möchten Datenverlust?

Das Beste, was du tun kannst, wenn du ahnungslos bist, ist zu lächeln und zu versuchen, der Situation zu entkommen, die ich getan habe 🙂

Es bleibt also die Frage, wie Sie die richtige Anzahl von Features finden, um einen Datensatz mit 20 Features darzustellen.

Also beschloss ich, mir die Hände schmutzig zu machen!

Ich dachte daran, mit dem berühmten Iris-Datensatz anzufangen!

Gott sei Dank wurden diese Blumen gemacht und jemand hat sich so viel Mühe gegeben, die Länge und Breite der Blütenblätter und Kelchblätter zu erfassen. Ohne den Iris-Datensatz wäre maschinelles Lernen so schwierig gewesen.

  • Es hat 4 Funktionen und 150 Einträge.

PCA ist so einfach wie die Anzahl der Buchstaben in PCA

  1. Berechnen Sie die Kovarianzmatrix
  2. Berechnen Sie die Eigenwerte und Vektoren.
  3. Projizieren Sie die Daten entlang der oberen Eigenvektoren basierend auf den n_Komponenten.

Das war’s, die Arbeit ist erledigt! Aber warte,

Wie erreichen wir n_components?

Also lass mich das Rätsel lösen

  • Berechnen Sie die Eigenwerte und Vektoren

  • Ordnen Sie die Eigenwerte in absteigender Reihenfolge an.

  • Da Eigenwerte die Varianz jeder Komponente in Richtung des Eigenvektors erfassen. Sehen Sie sich den Prozentsatz der Varianz an, der von jedem Merkmal beigetragen wird, was wiederum zur Vorhersagekraft beiträgt.

Es ist klar, dass die Varianz, die von den ersten beiden Merkmalen erfasst wird, wenn sie in absteigender Reihenfolge angeordnet wird, zu fast 96% der Gesamtvarianz der Merkmale beiträgt. Somit können wir die verbleibenden 2 Merkmale eliminieren, da sie nicht viel zur Gesamtvarianz beitragen.

Damit ist das Rätsel gelöst.

n_Komponenten sollten den Merkmalen entsprechen, die eine große Zahl zur Gesamtvarianz beitragen! Die Anzahl hängt von der Geschäftslogik ab.

Den vollständigen Code finden Sie unter –

https://github.com/bhattbhavesh91/pca_from_scratch_iris_dataset/blob/master/Principal_Component_Analysis_Iris_DataSet.ipynb