Ableiten der wichtigsten Merkmale

7

Gegeben eine Menge von Instanzen. Für jede Instanz habe ich einen Merkmalsvektor bestehend ausnm (numerische) Merkmale (x1, x2, ...,xm), n >> m. Außerdem habe ich für jeden Fall eine numerische Punktzahly(beobachtbar). Ich würde gerne:

  1. Finden Sie heraus, welche Teilmenge von Merkmalen oder eine lineare Kombination davon die Ergebnisse am besten erklärt.
  2. Erstellen Sie dazu eine schöne Visualisierung.

Ich wurde auf die Hauptkomponentenanalyse (PCA) hingewiesen. Das Problem mit PCA ist, dass nur die Merkmalsvektoren berücksichtigt werden. PCA bezieht die Merkmale nicht auf die numerische Bewertungy.

Praktische Anwendung: Angesichts einer großen Anzahl von Problemfällen (z. B. Probleme mit Handlungsreisenden) und eines Algorithmus zur Lösung des Problems. Jedes Mal, wenn wir die Instanz lösen, können wir die Gesamtzeit (= Punktzahl) messen, die zum Lösen der Instanz benötigt wurde. Darüber hinaus können wir für jede Instanz eine Reihe von Merkmalen erhalten, z. B. Größe der Instanz, Graphendurchmesser usw. Welche dieser Merkmale erklären die Rechenzeit am besten?

Joris Kinable
quelle
Mit "Instanzen" meinen Sie Beobachtungen (dh normalerweise "Datenzeilen")?
StatsStudent
Können Sie keine Regressionsmodellierungseinstellung verwenden und dann eine Modellauswahl durchführen? Ich denke, welche Art der Modellierung Sie verwenden, hängt davon ab, ob Sie Linearität oder Nichtlinearität der Beziehung zwischen jedem Merkmal und y-Steuerung für die verbleibenden Merkmale annehmen können. Für die Linearität würde eine lineare Regressionsmodellierung ausreichen. Bei Nichtlinearität könnte eine verallgemeinerte additive Modellierung eine Option sein.
Isabella Ghement
Vorausgesetzt, Sie haben weniger Prädiktoren als Instanzen (dh m <n), können Sie eine Modellauswahl basierend auf dem BIC-Kriterium durchführen, das für erklärende Einstellungen geeignet ist. Was die Visualisierung des endgültigen Modells angeht, könnten Effektdiagramme funktionieren. Sie ermöglichen es Ihnen, die Auswirkung jedes Features auf y anzuzeigen, nachdem Sie die verbleibenden Features im endgültigen Modell gesteuert haben. Siehe socialsciences.mcmaster.ca/jfox/Papers/… .
Isabella Ghement
Könnten Sie die Art der Beziehung zwischen den Bewertungen und den Eingabemerkmalen klären (z. B. ist sie linear)? An der Formulierung in (1) ist es schwer zu erkennen (z. B. könnten Sie Scores als nichtlineare Funktion einer linearen Kombination von Merkmalen betrachten). Haben Sie auch eine bestimmte Metrik im Sinn, um "die Ergebnisse am besten zu erklären"?
user20160
Ich denke, Sie brauchen einen Funktionsauswahlalgorithmus: en.wikipedia.org/wiki/Feature_selection
Steve Prestwich

Antworten:

0

Es gibt viele Möglichkeiten, es kommt darauf an, was genau Sie wollen.

Feature-Wichtigkeit oder Permutations-Wichtigkeit

Beide Methoden zeigen Ihnen, welche Funktionen für das Modell am wichtigsten sind. Es ist eine Nummer für jede Funktion. Sie wird nach dem Einbau des Modells berechnet. Es sagt Ihnen nichts darüber aus, welche Werte eines Features welche Punktzahlen implizieren.

In sklearn haben die meisten modelz model.feature_importances_. Die Summe aller Feature-Wichtigkeiten beträgt 1.

Die Permutationsbedeutung wird für ein angepasstes Modell berechnet. Hier erfahren Sie, um wie viel sich die Metrik verschlechtert, wenn Sie die Feature-Spalte mischen.

Pseudocode:

    model.fit()
    base_score = model.score(x_dev, y_dev)
    for i in range(nr_features):
        x_dev_copy = copy(x_dev)
        x_dev_copy[:, i] = shuffle(x_dev_copy[:, i])
        perm_score = model.score(x_dev_copy, y_dev)
        perm_imp[i] = (perm_score - base_score) / base_score

Weitere Informationen zur Permutationsbedeutung finden Sie hier .

Teilabhängigkeitsdiagramme

Hier erfahren Sie, welche Werte eines Features die Vorhersagewerte erhöhen / verringern. Es sieht aus wie das:

Geben Sie hier die Bildbeschreibung ein

Weitere Informationen zu Kaggle: Partial Dependence Plots oder direkt zur Bibliothek PDPbox GitHub .

SHAP-Wert

erklärt, warum das Modell eine bestimmte Vorhersage für eine bestimmte Instanz liefert. Das folgende Diagramm zeigt, mit welchen Feature-Werten die Vorhersage von einem Durchschnittswert auf den aktuellen Wert für die aktuelle Instanz verschoben wurde.

Geben Sie hier die Bildbeschreibung ein

Weitere Informationen finden Sie in der SHAP-Bibliothek .

Tomáš Přinda
quelle