迭代RFE分数sklearn

时间:2016-10-16 13:16:54

标签: python scikit-learn iteration rfe

我正在使用RFE和ExtraTreeRegressor作为估算器,以便在回归问题中进行SupervisedFeatureSelection。

我使用以下公共代码获得模型的排名和支持:

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_)

我想要的是更深层次的信息,因此在RFE的每次迭代中得分或特征评估。我注意到有一些像_fit这样的隐藏函数,我正在考虑强制step_score参数与none ... 关键是我无法达到我想要的......(我是python的新手......)我想在每次迭代时获得分数的打印。有没有人有这样的任务经验?什么应该是step_score参数的正确值? (我尝试过布尔值,但不起作用)

感谢您的任何建议!!!

1 个答案:

答案 0 :(得分:1)

那是我在寻找:

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_