Merkmalsauswahl und Klassifizierungsgenauigkeitsbeziehung

10

Eine der Methoden zum Auswählen einer Teilmenge Ihrer verfügbaren Merkmale für Ihren Klassifizierer besteht darin, sie nach einem Kriterium (z. B. Informationsgewinn) zu ordnen und dann die Genauigkeit mithilfe Ihres Klassifikators und einer Teilmenge der eingestuften Merkmale zu berechnen.

Wenn Ihre Features beispielsweise A, B, C, D, Ewie folgt sind und sie wie folgt eingestuft sind D,B,C,E,A, berechnen Sie die Genauigkeit mit D, D, Bdann D, B, C, dann D, B, C, E... bis Ihre Genauigkeit abnimmt. Sobald es abnimmt, hören Sie auf, Funktionen hinzuzufügen.

Beispiel 1

In Beispiel 1 (oben) würden Sie Features auswählen F, C, D, Aund die anderen Features löschen, da sie Ihre Genauigkeit verringern.

Bei dieser Methode wird davon ausgegangen, dass das Hinzufügen weiterer Features zu Ihrem Modell die Genauigkeit Ihres Klassifikators bis zu einem bestimmten Punkt erhöht, nach dem das Hinzufügen zusätzlicher Features die Genauigkeit verringert (siehe Beispiel 1).

Meine Situation ist jedoch anders. Ich habe die oben beschriebene Methode angewendet und festgestellt, dass das Hinzufügen weiterer Funktionen die Genauigkeit bis zu einem Punkt verringert, nach dem sie zunimmt.

Beispiel2

Wie wählen Sie in einem Szenario wie diesem Ihre Funktionen aus? Pflücken Fund lassen Sie nur den Rest fallen? Haben Sie eine Idee, warum die Genauigkeit abnimmt und dann zunimmt?

Pauline
quelle

Antworten:

4

Die Auswahl von Merkmalen umfasst verschiedene Ansätze, genau wie Methoden für maschinelles Lernen. Die Idee ist, die relevanteste, aber nicht redundante Funktion für das Vorhersagemodell beizubehalten, die eine optimale Genauigkeit erzielen kann.

In Ihrem Fall kann ich nicht sehen, welche Methode Sie für die Merkmalsauswahl verwenden, aber ich gehe davon aus, dass Sie die multivariate Natur der Merkmalsabhängigkeit nicht berücksichtigen. Angenommen, Sie haben N Merkmale, was wahrscheinlich darauf zurückzuführen ist, dass Ihre Modellgenauigkeit nach n obersten Merkmalen abnimmt, sich jedoch durch Hinzufügen von n + k verbessert (wobei n <k <N, wenn Merkmale in absteigender Reihenfolge basierend auf dem Informationsgewinn vorliegen), auf Inter- zurückzuführen ist Abhängigkeit (mehr Relevanz und weniger Redundanz) der wichtigsten n- und k-Merkmale. Eine univariate Merkmalsauswahl führt nicht unbedingt zu einer optimalen Modellgenauigkeit, wenn Merkmale voneinander abhängig sind und sich nicht gegenseitig ausschließen. Aus philosophischer Sicht entspricht die Menge der optimalen Merkmale einem Zitat von Aristoteles: "Das Ganze ist größer als die Summe seiner Teile"!

Für eine optimale Merkmalsauswahl bin ich oft ein Caret-Paket in einer RSprache, in der eine Merkmalsauswahl unter Verwendung der rekursiven Merkmalseliminierung (RFE) unter mehreren anderen Ansätzen durchgeführt werden kann. Es gibt auch ein Paket namens mRMRe, um die Funktionsauswahl basierend auf maximaler Relevanz und minimaler Redundanz durchzuführen .

Am besten,
Samir

Samir
quelle
Ich habe eine Antwort vom Handy verfasst und nicht bemerkt, dass die beiden vorherigen Antworten ziemlich ähnlich sind! Mein Fehler, diese nicht zu kommentieren und stattdessen separat zu antworten.
Samir
Ihr Standpunkt zu redundanten Funktionen ist genau richtig. Ich habe überprüft, und ich kann bestätigen, dass die 3 Merkmale mit einem hohen Informationsgewinn tatsächlich redundant sind (stark miteinander korreliert). Dies erklärt, warum die Genauigkeit bei gemeinsamer Verwendung dieser Features abnimmt: Nach dem ersten Feature fügt das zusätzliche Feature meinem Datensatz keine neue "Datendimension" hinzu und erzeugt stattdessen Rauschen, da sie nur das "wiederholen", was die Klassifizierer bereits wissen, danke das erste Feature. Die anderen Funktionen mit einem geringeren Informationsgewinn fügen jedoch eine neue Datendimension hinzu.
Pauline
1

Über die spezifische Frage

Sie sollten kein bestimmtes Verhalten erwarten (Erhöhung und Verringerung der Genauigkeit), während Sie eine Teilmenge von Features auswählen, da dies vollständig vom Problem (und jedem Modell) abhängt.

Wenn Sie die variable Wichtigkeit von Features berechnen, berücksichtigen Sie den Beitrag aller Features gleichzeitig. Sobald Sie eine Teilmenge von Features ausgewählt und ein neues Modell erstellt haben, erhalten Sie eine andere Darstellung oder Modellierung des Problems (wobei die anderen Features - informativ oder nicht - nicht berücksichtigt werden).

Nun möchten Sie die beste Anzahl von Funktionen auswählen. Dies hängt auch von Ihrem Problem und den Eigenschaften oder Bedingungen ab, die Sie erfüllen müssen. Wenn Sie tatsächlich weniger Funktionen benötigen, während Sie die Vorhersagegenauigkeit optimieren, können Sie die niedrigste Anzahl von Funktionen auswählen, die den niedrigsten Fehler erzielen. Wenn Sie verschiedene Fälle mit sehr ähnlichen Fehlern haben, wählen Sie einen Schwellenwert aus Top-Fälle, deren paarweise Fehlerdifferenz unter dem Schwellenwert liegt, und wählen Sie einen aus (zum Beispiel den mit der geringeren Anzahl von Merkmalen - da die Fehler geringfügig gleich sind -).

Betrachten Sie die Beseitigung rekursiver Features

Die von Ihnen verwendete Methode ist möglicherweise nicht der stabilste Ansatz. Sie sollten in Betracht ziehen, so etwas wie RFE (Recursive Feature Elimination) zu versuchen, eine Wrapper-Methode, mit der Sie den Klassifikator erstellen, alle Features bewerten, das Schlimmste entfernen und das Modell anhand der verbleibenden Features neu erstellen. Dann wiederholen Sie die Methode erneut. Dies wird tendenziell stabiler sein ... und Sie sollten jedes Mal ein anderes Ranking erwarten.

Varianz ist auch ein kritischer Faktor

Über den tatsächlichen Fehler (oder die Genauigkeit) hinaus, den das Modell bei jeder Teilmenge angibt, sollten Sie in Betracht ziehen, jedes Modell durch ein Kreuzvalidierungsverfahren zu erstellen und sowohl den mittleren Fehler der Falten als auch die Standardabweichung dieser Fehler zu berücksichtigen. Wenn die Standardabweichung hoch ist, ist die ausgewählte Teilmenge der Merkmale nicht stabil und variiert beim Testen mit unsichtbaren Daten häufig erheblich. Dies ist wichtig, um die erwarteten Generalisierungsfähigkeiten des Modells zu bewerten, und kann bei der Entscheidung zwischen Modellen (die mit verschiedenen Teilmengen erstellt wurden) hilfreich sein.

Javierfdr
quelle
1

Sie müssen sowohl redundante als auch irrelevante Funktionen aus Ihrem Datensatz entfernen. Es ist ersichtlich, dass Ihr Datensatz irrelevante und redundante Funktionen enthält.

Ich empfehle Ihnen, sich den MRMR-Algorithmus (Minimum Redundancy Maximum Relevance Feature Selection) anzusehen. Es ist ein sehr beliebter und leistungsstarker Filter, bevor Sie das Modell trainieren.

"Meine Situation ist jedoch anders. Ich habe die oben beschriebene Methode angewendet und festgestellt, dass das Hinzufügen weiterer Funktionen die Genauigkeit bis zu einem Punkt verringert, an dem sie zunimmt."

Es ist auch möglich, aber dies wird zu einem komplexeren Modell führen.

Rapry
quelle
1

Im Allgemeinen gibt es drei Klassen von Algorithmen zur Merkmalsauswahl.

  • Filtermethoden, die die intrinsischen Eigenschaften der Daten analysieren und jedem Feature eine Bewertung zuweisen, ohne dass ein Modell beteiligt ist. Einige Beispiele sind Fold Change, Student T-Test.

  • Wrapper-Methoden, bei denen verschiedene Teilmengen von Merkmalen durch die spezifischen Algorithmen ausgewählt werden. Wir passen dann in das Klassifizierungs- oder Regressionsmodell ein, um jede Auswahl zu bewerten und die mit dem besten Fitnesswert auszuwählen. Einige Beispiele sind der genetische Algorithmus für die Merkmalsauswahl, die Monte-Carlo-Optimierung für die Merkmalsauswahl und die schrittweise Vorwärts- / Rückwärtsauswahl.

  • Eingebettete Methoden, mit denen das Modell selbst die Merkmale auswählen kann, die den besten Beitrag zur Fitness des Modells leisten. Typische sind LASSO, Ridge Regression.

Hier ist ein großartiger Artikel mit Details zur Einführung in die Funktionsauswahl .

Jason Feng
quelle
Die im Beitrag vorgestellte Methode ist ein Beispiel für einen Filter. Der Filter hat alle Features eingestuft, und das Thema ist, wie eine Teilmenge dieser eingestuften Features ausgewählt wird.
Pauline