Итеративный RFE баллов sklearn
Я использую 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 ответ
Вот что я искал:
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_