2017-12-07 5 views
0

habe ich eine Tabelle mein Verständnisrekursive Eigenschaft Elimination (RFE) SKLearn

F1 F2 Outcome 
0 2 5  1 
1 4 8  2 
2 6 0  3 
3 9 8  4 
4 10 6  5 

Von F1 zu testen und F2 Ich habe versucht, Outcome

vorherzusagen, wie Sie F1 haben eine starke Korrelation zu den Ergebnissen sehen kann, F2 ist zufälliges Rauschen

I getestet

pca = PCA(n_components=2) 
fit = pca.fit(X) 
print("Explained Variance") 
print(fit.explained_variance_ratio_) 
Explained Variance 
[ 0.57554896 0.42445104] 

was ist das, was ich erwartet hatte und sh ows, dass F1 wichtiger

jedoch ist, wenn ich RFE (rekursive Funktion Elimination) tun

model = LogisticRegression() 
rfe = RFE(model, 1) 
fit = rfe.fit(X, Y) 
print(fit.n_features_) 
print(fit.support_) 
print(fit.ranking_) 
1 
[False True] 
[2 1] 

Es hat mich gebeten, statt F2 zu halten? Es sollte mich bitten, F1 zu behalten, da F1 ein starker Prädiktor ist, während F2 Zufallsrauschen ist ... warum F2?

Dank

Antwort

1

Sie verwenden LogisticRegression Modell. Dies ist ein Klassifikator, kein Regressor. Ihr Ergebnis wird hier also als Label behandelt (keine Zahlen). Für ein gutes Training und Vorhersage benötigt ein Klassifikator mehrere Samples jeder Klasse. In Ihren Daten ist jedoch nur eine Zeile für jede Klasse vorhanden. Daher sind die Ergebnisse Müll und nicht ernst zu nehmen.

Versuchen Sie, das durch ein Regressionsmodell zu ersetzen, und Sie werden das Ergebnis sehen, von dem Sie dachten, dass es sein würde.

+0

Großartig Ich habe nicht bemerkt, dass es ein Klassifikator war ... danke bro –

+0

@JNg Auch noch eine Sache. In der PCA(), die du dort gemacht hast, siehst du es falsch an. PCA wird verwendet, um die Daten in eine andere Dimension zu transformieren, in der das Lernen einfacher ist als die aktuelle Form. Es kann Ihnen also nicht die Wichtigkeit der Funktion sagen. Sie können sehen, dass Sie 'y' darin nicht geliefert haben. Die erklärte Varianz ist nicht wichtig. Wie stark variieren die Daten in dieser Spalte? –

+0

Hallo Vivek wunderte sich über die PCA, wenn es Erklärt Varianz ist hoch, sollte es bedeuten, dass dieser Faktor ist sinnvoller als andere Faktoren zu verwenden, also wichtiger? –