
Mit der richtigen Auswahl der Funktionen für die Datenanalyse können Sie:
- Verbesserung der Qualität von Modellen für maschinelles Lernen mit und ohne Lehrer,
- Reduzieren Sie die Trainingszeit und reduzieren Sie die erforderliche Rechenleistung.
- und im Fall von Eingabedaten mit hoher Dimension kann der „Fluch der Dimension“ geschwächt werden.
Eine Bewertung der Wichtigkeit von Attributen ist erforderlich, um die Ergebnisse des Modells zu interpretieren.
Wir werden die vorhandenen Methoden zur Auswahl von Merkmalen für Unterrichtsaufgaben mit und ohne Lehrer betrachten. Jede Methode wird mit einer Open Source-Implementierung in Python veranschaulicht, damit Sie die vorgeschlagenen Algorithmen schnell testen können. Dies ist jedoch keine vollständige Auswahl: In den letzten 20 Jahren wurden viele Algorithmen erstellt, und hier finden Sie die grundlegendsten. Weitere Informationen finden Sie in dieser
Rezension .
Models mit und ohne Lehrer
Es gibt Auswahlalgorithmen mit dem Lehrer, mit denen Sie die geeigneten Merkmale für die beste Qualität der Arbeit von Unterrichtsaufgaben mit dem Lehrer bestimmen können (z. B. bei Klassifizierungs- und Regressionsproblemen). Diese Algorithmen benötigen Zugriff auf markierte Daten. Für unbeschriftete Daten gibt es auch eine Reihe von Methoden zur Merkmalsauswahl, mit denen alle Merkmale anhand verschiedener Kriterien bewertet werden: Varianz, Entropie, Fähigkeit zur Aufrechterhaltung lokaler Ähnlichkeit usw. Relevante Merkmale, die mit heuristischen Methoden ohne Lehrer erkannt wurden, können auch in Modellen mit einem Lehrer verwendet werden, da sie andere Muster als die Korrelation von Merkmalen mit der Zielvariablen erkennen können.
Charakteristische Auswahlmethoden werden normalerweise in 4 Kategorien unterteilt: Filter, Wrapper, Embedded und Hybrid.
Wrapper
Mit diesem Ansatz bewerten wir die Wirksamkeit einer Teilmenge von Attributen unter Berücksichtigung des Endergebnisses des angewandten Lernalgorithmus (z. B. wie hoch die Genauigkeit bei der Lösung des Klassifizierungsproblems ist). In dieser Kombination aus Suchstrategie und Modellierung kann jeder Lernalgorithmus verwendet werden.

Bestehende Auswahlstrategien:
- Direkte Auswahl (Vorauswahl) : Wir beginnen mit einem leeren Satz von Funktionen und fügen dann iterativ Funktionen hinzu, mit denen die Qualität der Modelle am besten gesteigert werden kann.
- Rückwärtsauswahl : Wir beginnen mit einer Reihe aller Attribute und entfernen dann bei jeder Iteration das „schlechteste“ Attribut.
Implementierung: Diese Algorithmen sind im
mlxtend- Paket implementiert. Hier ist
ein Anwendungsbeispiel.
- RFE (Recursive Feature Elimination): Ein "gieriger" Suchalgorithmus, der Features durch rekursives Definieren immer kleinerer Feature-Sets auswählt. Es ordnet die Zeichen nach der Reihenfolge, in der sie entfernt werden.
Implementierung: Scikit-Learn
Inline-Methoden
Diese Gruppe enthält Algorithmen, die gleichzeitig das Modell trainieren und Funktionen auswählen. Dies wird normalerweise mit dem l1-
Regularizer (Sparsity-Regularizer) oder einer Bedingung implementiert, die einige der Vorzeichen einschränkt.
- SMLR (Sparse Multinomial Logistic Regression): Dieser Algorithmus implementiert die l1-Regularisierung unter Verwendung von ARD (Automatic Relevance Determination) als Teil der klassischen multinomialen logistischen Regression. Die Regularisierung bestimmt die Wichtigkeit jedes Merkmals und hebt diejenigen auf, die für die Vorhersage unbrauchbar sind.
Implementierung: SMLR - ARD (Automatic Relevance Determination Regression): Das Modell verwendet die Bayesian Ridge Regression. Es verschiebt das Gewicht der Koeffizienten stärker auf Null, verglichen beispielsweise mit der Methode der kleinsten Quadrate.

ARD setzt das Gewicht einiger Features auf Null und hilft so, relevante Dimensionen zu identifizieren.
Implementierung: Scikit-Learn
Andere Beispiele für Regularisierungsalgorithmen:
Lasso (implementiert
l1- Regularisierung),
Ridge-Regression (implementiert
l2- Regularisierung),
Elastic Net (implementiert
l1- und
l2- Regularisierung). Wenn Sie diese Methoden grafisch darstellen, können Sie sehen, dass die Lasso-Regression die Koeffizienten auf das Quadrat begrenzt, die Gratregression den Kreis abgrenzt und das elastische Netz eine Zwischenposition einnimmt.
https://scikit-learn.org/stable/auto_examples/linear_model/plot_sgd_penalties.htmlEine umfassende Beschreibung dieser Algorithmen finden Sie
hier .
Filter
Mit diesem Ansatz bewerten wir die Bedeutung von Attributen nur anhand ihrer inhärenten Eigenschaften, ohne Lernalgorithmen einzubeziehen. Diese Methoden sind schneller und erfordern im Vergleich zu Wrapper-Methoden weniger Rechenressourcen. Wenn nicht genügend Daten vorhanden sind, um eine statistische Korrelation zwischen Features zu modellieren, können Filter schlechtere Ergebnisse liefern als Wrapper. Im Gegensatz zu Wrappern sind solche Methoden weniger anfällig für Umschulungen. Sie werden häufig für die Arbeit mit hochdimensionalen Daten verwendet, wenn Wrapper-Methoden zu viel Rechenleistung erfordern.
Lehrermethoden
- Erleichterung : Diese Methode wählt zufällig Stichproben aus dem Datensatz aus und aktualisiert die Signifikanz jedes Attributs basierend auf dem Unterschied zwischen der ausgewählten Instanz und den beiden Objekten, die derselben Klasse und derselben Klasse am nächsten liegen. Wenn sich die Werte des Merkmals für die beiden nächsten Nachbarn derselben Klasse unterscheiden, nimmt seine Bedeutung ab, und wenn sich im Gegenteil ein Unterschied zwischen den Werten des Merkmals für Objekte verschiedener Klassen ergibt, nimmt die Bedeutung entsprechend zu.
Das Gewicht des Attributs nimmt ab, wenn sich sein Wert für die nächsten Objekte derselben Klasse stärker unterscheidet als für die nächsten Objekte aus verschiedenen Klassen. sonst steigt das Gewicht.
Der erweiterte ReliefF-Algorithmus verwendet die Feature-Gewichtung und sucht nach nächsten Nachbarn.
Implementierung: Scikit-Rabatt , ReliefF - Fisher-Score : Wird häufig bei binären Klassifizierungsproblemen verwendet. Das Fisher-Verhältnis (FiR) ist definiert als der Abstand zwischen den Durchschnittswerten der Attribute für jede Klasse geteilt durch ihre Varianz:
FiR_ {i} = \ frac {\ left | \ bar {X} _ {i} ^ {(0)} - \ bar {X} _ {i} ^ {(1)} \ right |} {\ sqrt {var (X_ {i}) ^ {(0)} + var (X_ {i}) ^ {(1)}}
Implementierung: Scikit-Feature , Anwendungsbeispiel. - Chi-Quadrat-Punktzahl : Überprüft, ob zwischen der beobachteten und der erwarteten Häufigkeit zweier kategorialer Variablen ein signifikanter Unterschied besteht. Somit wird die Nullhypothese des Fehlens einer Verbindung zwischen zwei Variablen getestet.
Chi-Quadrat-Unabhängigkeitskriterium .
Um das Chi-Quadrat-Kriterium korrekt anzuwenden und die Beziehung zwischen verschiedenen Vorzeichen aus dem Datensatz und der Zielvariablen zu überprüfen, müssen die Bedingungen beachtet werden: Die Variablen müssen kategorisch und unabhängig sein und eine erwartete Häufigkeit von mehr als 5 aufweisen . Die letzte Bedingung garantiert, dass die CDF (kumulative Dichtefunktion) des statistischen Kriteriums (Teststatistik) unter Verwendung der Chi-Quadrat-Verteilung angenähert werden kann. Erfahren Sie hier mehr.
Implementierung: sklearn , scipy - CFS (Korrelationsbasierte Merkmalsauswahl): Die Gründe für diese Methode können wie folgt formuliert werden:
Zeichen sind relevant, wenn sich ihre Werte je nach Zugehörigkeit zu der einen oder anderen Kategorie systematisch ändern.
Daher enthält eine gute Teilmenge von Merkmalen diejenigen Merkmale, die in hohem Maße mit der Zielvariablen korreliert sind, ohne miteinander zu korrelieren. Die Punktzahl einer Teilmenge von k Merkmalen wird wie folgt berechnet :
Hier Ist der Durchschnitt aller Korrelationen zwischen einem Merkmal und einer Klasse, und - der Durchschnittswert aller Korrelationen zwischen Merkmalen. Das CFS-Kriterium ist wie folgt definiert:
Implementierung: Scikit-Feature , Anwendungsbeispiel. - FCBF (Fast Correlation-based Filter): Diese Methode arbeitet schneller und effizienter als ReliefF und CFS und wird daher häufiger für hochdimensionale Eingaben verwendet. Tatsächlich ist dies ein typischer Ansatz, der Relevanz und Redundanz berücksichtigt, bei dem zuerst die symmetrische Unsicherheit für alle Attribute berechnet wird (gegenseitige Information zwischen X und YI (X, Y) geteilt durch die Summe ihrer Entropien), dann werden die Attribute nach diesem Kriterium sortiert und dann wird der Überschuss entfernt.
Implementierung: skfeature , https://github.com/shiralkarprashant/FCBF
Methoden ohne Lehrer
- Varianz : Es wurde gezeigt, dass die Schätzung der Zeichenvarianz eine effektive Methode zur Auswahl von Merkmalen sein kann. Zeichen mit einer Streuung von nahezu Null sind in der Regel nicht signifikant und können entfernt werden.
Implementierung: Varianzschwelle - Durchschnittliche absolute Differenz : Berechnen Sie die durchschnittliche absolute Differenz zwischen den Werten des Attributs und seinem Durchschnittswert ( Implementierung ).
Höhere Werte haben tendenziell eine höhere Vorhersagekraft. - Dispersionsverhältnis : Arithmetisches Mittel geteilt durch geometrisches Mittel. Eine höhere Varianz entspricht relevanteren Merkmalen ( Implementierung ).
Seit genau dann, wenn die Gleichheit respektiert wird dann:
- Laplace-Score : Es basiert auf der Beobachtung, dass Daten aus einer Klasse häufig näher beieinander liegen, sodass Sie die Bedeutung eines Features anhand seiner Fähigkeit bewerten können, diese Nähe widerzuspiegeln. Das Verfahren besteht darin, Daten in den Graphen des nächsten Nachbarn einzubetten, indem ein beliebiger Abstand gemessen und anschließend die Gewichtsmatrix berechnet wird. Dann berechnen wir für jedes Merkmal das Laplace-Kriterium und erhalten eine Eigenschaft, bei der die kleinsten Werte den wichtigsten Dimensionen entsprechen. In der Praxis wird jedoch bei der Auswahl einer Teilmenge von Merkmalen normalerweise ein anderer Clustering-Algorithmus (k-means-Methode) verwendet, mit dem die effektivste Gruppe ausgewählt wird.
Implementierung: Scikit-Feature - Laplace-Kriterium in Kombination mit entfernungsbasierter Entropie : Der Algorithmus basiert auf dem Laplace-Kriterium, bei dem die k-Mittel-Clusterbildung durch Entropie ersetzt wird. Der Algorithmus zeigt eine höhere Stabilität bei hochdimensionalen Datensätzen ( Implementierung ).
- MCFS (Multi-Cluster Feature Selection): Eine Spektralanalyse wird durchgeführt, um die Korrelation zwischen verschiedenen Merkmalen zu messen. Für die Datenclusterung und Merkmalsbewertung werden Eigenvektoren des Laplace-Operators (Graph Laplace) verwendet. Ihre Berechnung wird in diesem Artikel beschrieben.
Implementierung: https://github.com/danilkolikov/fsfc - Die Algorithmen LFSBSS (Localized Feature Selection), Weighted K-Means (Weighted K-Means), SPEC und Apriori werden hier berücksichtigt und in diesem Paket implementiert.
Hybridmethoden
Eine andere Möglichkeit zur Implementierung der Feature-Auswahl ist eine Mischung aus Filtern und Wrappern, die in einem zweiphasigen Prozess kombiniert werden: Zuerst werden die Features nach statistischen Eigenschaften gefiltert und anschließend werden Wrapping-Methoden angewendet.
Andere Quellen
Es wurde viel Literatur geschrieben, in der das Problem der Auswahl von Merkmalen betrachtet wird, und hier haben wir das gesamte Spektrum der wissenschaftlichen Forschung nur geringfügig angesprochen.
Eine vollständige
Liste anderer Merkmalsauswahlalgorithmen, die ich nicht erwähnt habe, wurde im
Scikit-Feature- Paket implementiert.
Relevante Merkmale können auch mit
PLS (Partial Least Squares, wie in diesem
Artikel beschrieben , oder mit linearen Dimensionsreduktionsmethoden, wie
hier gezeigt, bestimmt
werden .
Übersetzte Jet-Infosysteme