3

我使用带有 ExtraTreeRegressor 的 RFE 作为估计器,以便在回归问题中进行 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 参数的正确值应该是多少?(我尝试过使用布尔值,但它不起作用)

感谢您的任何建议!!!

4

1 回答 1

3

那就是我一直在寻找的:

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_
于 2016-10-17T18:12:10.273 回答