2016-10-16 6 views
0

Ich verwende RFE mit ExtraTreeRegressor als Schätzer, um SupervisedFeatureSelection in einem Regressionsproblem zu machen.Iterative RFE Scores slearn

bekomme ich das Ranking und die Unterstützung aus dem Modell mit dem gemeinsamen Code unten:

rfe_vola = RFE(estimator=ExtraTreesRegressor(), n_features_to_select=1, step=1) 
rfe_vola.fit(X_allfeatures, y_vol) 
ranking_vola = rfe_vola.ranking_ 
print("ranking: ",ranking_vola) 
print("support: ",rfe_vola.support_) 

was Ich mag würde, haben, ist eine tiefere Informationen, damit die Noten oder die Merkmale Auswertung bei jeder Iteration RFE. Ich habe bemerkt, dass es einige versteckte Funktionen wie _fit gibt, und ich denke daran zu versuchen, den Parameter step_score anders zu machen als keiner ... Der Punkt ist, dass ich nicht erreichen kann, was ich will .. (Ich bin neu bei Python ...) Ich würde gerne den Ausdruck der Noten bei jeder Iteration bekommen. Gibt es jemanden, der Erfahrung mit einer solchen Aufgabe hat? Was sollte ein geeigneter Wert für den Parameter step_score sein? (Ich habe mit einem Boolean versucht, aber es funktioniert nicht)

Danke für jeden Hinweis !!!

Antwort

0

Das heißt war ich suchte:

from sklearn.metrics import r2_score 

rfe_vola = RFE(estimator=ExtraTreesRegressor(),n_features_to_select=None, step=1, verbose=2)  
r2_scorer = lambda est, features: r2_score(y_true=y_vol,y_pred=est.predict(X_allfeatures[:, features])) 
rfe_vola._fit(X_allfeatures, y_vol, r2_scorer) 
ranking_vola = rfe_vola.ranking_