2017-09-05 3 views
0

Ich weiß, dass die Feature-Auswahl mir hilft, Features zu entfernen, die wenig beitragen können. Ich weiß, dass PCA dazu beiträgt, möglicherweise korrelierte Merkmale in einem zu reduzieren und die Dimensionen zu reduzieren. Ich weiß, dass die Normalisierung Funktionen auf die gleiche Skala umwandelt.Richtige Reihenfolge der Funktionsauswahl, PCA und Normalisierung?

Aber gibt es eine empfohlene Reihenfolge für diese drei Schritte? Logischerweise würde ich denken, dass ich schlechte Features zuerst durch Feature-Auswahl aussortieren, dann normalisieren und schließlich PCA verwenden sollte, um Dimensionen zu reduzieren und die Features so unabhängig voneinander wie möglich zu machen.

Ist diese Logik korrekt?

Bonus Frage - gibt es noch weitere Dinge zu tun (Vorverarbeitung oder Transformation) zu den Funktionen vor dem Einführen in den Schätzer?

+3

Diese Frage bezieht sich nicht direkt auf scikit-learn sondern eher auf die Theorie des maschinellen Lernens und gehört daher zu [Cross Validated] (https: // stats. stackexchange.com/help/on-topic). Wie auch immer, die richtige Antwort sollte lauten: Es kommt darauf an. In der Regel kommt ein Feature Selection-Schritt nach dem PCA (mit einem Optimierungsparameter, der die Anzahl der Features beschreibt, und Scaling kommt vor PCA. Je nach Problem ändert sich das. Vielleicht möchten Sie PCA nur auf einen Teil der Features anwenden. Einige Algorithmen nicht erforderlich, dass die Daten normalisiert werden usw. – Quickbeam2k1

Antwort

3

Wenn ich einen Klassifikator irgendeiner Art tun würde ich persönlich benutze diesen Auftrag

  1. Normalisierungs
  2. PCA
  3. Feature Selection

Normalisierungs: Sie würden erste Normalisierung tun bekommen Daten in vernünftigen Grenzen. Wenn Sie Daten (x, y) und den Bereich von x is from -1000 to +1000 und y is from -1 to +1 haben, können Sie sehen, dass jede Entfernungsmetrik automatisch sagt, dass eine Änderung von y weniger signifikant ist als eine Änderung von X. Wir wissen nicht, ob dies der Fall ist. Also wollen wir unsere Daten normalisieren.

PCA: Verwendet die Eigenwertzerlegung von Daten, um einen orthogonalen Basissatz zu finden, der die Varianz in Datenpunkten beschreibt. Wenn Sie 4 Merkmale haben, kann PCA Ihnen zeigen, dass nur 2 Merkmale wirklich Datenpunkte unterscheiden, die uns zum letzten Schritt bringt

Feature Auswahl: Sobald Sie einen Koordinatenraum haben, der Ihre Daten besser beschreibt, können Sie auswählen, welche Merkmale hervorstechen Normalerweise würden Sie die größten Eigenwerte (EVs) und ihre entsprechenden Eigenvektoren von PCA für Ihre Darstellung verwenden. Da größere EVs bedeuten, dass in dieser Datenrichtung mehr Varianz besteht, können Sie bei der Isolierung von Features differenzierter vorgehen. Dies ist eine gute Methode, um die Anzahl der Dimensionen Ihres Problems zu reduzieren.

natürlich könnte dies von Problem zu Problem ändern, aber das ist nur eine allgemeine Anleitung.

+0

Das macht Sinn.Meine Logik war komplett außer Betrieb: D. Danke! – shikhanshu

1

Generell Normalisierungs benötigt wird vorPCA. Der Schlüssel zu dem Problem ist die Reihenfolge der Feature-Auswahl, und es hängt von der Methode der Feature-Auswahl ab.

Eine einfache Merkmalauswahl ist, ob die Varianz oder Standardabweichung des Merkmals klein ist. Wenn diese Werte relativ klein sind, hilft diese Funktion dem Klassifizierer möglicherweise nicht. Wenn Sie jedoch vorher eine Normalisierung durchführen, werden die Standardabweichung und die Varianz kleiner (in der Regel kleiner als 1), was zu sehr kleinen Unterschieden zwischen den verschiedenen Merkmalen in std oder var führt. Wenn Sie die Null-Mittelwert-Normalisierung verwenden Der Mittelwert aller Features ist gleich 0 und std ist gleich 1. An diesem Punkt ist es möglicherweise nicht normal, vor der Featureauswahl eine Normalisierung durchzuführen.
Die Featureauswahl ist flexibel und es gibt viele Möglichkeiten zum Auswählen von Features.Die Reihenfolge der Merkmalauswahl sollte entsprechend der aktuellen Situation gewählt werden

+0

Guter Punkt.Ich werde die Merkmalauswahl sowohl vor als auch nach der Normalisierung (PCA nach der Normalisierung in beiden Fällen) versuchen Fälle) und sehen, wie dies auf die Daten, die ich habe, geht. Vielen Dank für die Einsicht! – shikhanshu

Verwandte Themen