Hier ist mein Code für die Feature-Auswahlmethode in Python:
from sklearn.svm import LinearSVC
from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target
X.shape
(150, 4)
X_new = LinearSVC(C=0.01, penalty="l1", dual=False).fit_transform(X, y)
X_new.shape
(150, 3)
Aber nachdem ich neues X (abhängige Variable - X_new) erhalten habe, woher weiß ich, welche Variablen entfernt werden und welche Variablen in dieser neuen aktualisierten Variablen berücksichtigt werden? (Welches wurde entfernt oder welche drei sind in den Daten vorhanden?)
Der Grund für diese Identifizierung besteht darin, auf neue Testdaten dieselbe Filterung anzuwenden.
feature-selection
python
scikit-learn
Vignesh Prajapati
quelle
quelle
iris.feature_names
feature_names
iniris
Variable überprüft ? Es funktioniert gut für mich.Wenn Sie nach dem Anpassen Ihres SVC SelectFromModel für die Funktionsauswahl verwenden, können Sie alternativ die Instanzmethode verwenden
get_support
. Dies gibt ein boolesches Array zurück, das die Auswahl jedes Features abbildet. Verbinden Sie dies als Nächstes mit einem ursprünglichen Array mit Feature-Namen und filtern Sie dann nach den booleschen Status, um den Satz der Namen der relevanten ausgewählten Features zu erstellen.Ich hoffe, dies hilft zukünftigen Lesern, die auch Schwierigkeiten hatten, den besten Weg zu finden, um relevante Feature-Namen nach der Feature-Auswahl zu erhalten.
Beispiel:
quelle
Basierend auf der @ chinnychinchin-Lösung mache ich normalerweise:
was so etwas zurückgibt wie:
quelle