我的任务是了解哪些特征(位于X数据集的列中)在预测目标变量y方面是最好的。我决定在RandomForestClassifier中使用feature_importances_。当max_depth=10和n_estimators = 50时,RandomForestClassifier有最好的分数(aucroc)。是否正确使用feature_importances_与最佳参数,或默认参数?为什么?feature_importes_是如何工作的?
例如,有两个模型具有最佳参数和默认参数。
1)
model = RandomForestClassifier(max_depth=10,n_estimators = 50)
model.fit(X, y)
feature_imp = pd.DataFrame(model.feature_importances_, index=X.columns, columns=["importance"])
2)
model = RandomForestClassifier()
model.fit(X, y)
feature_imp = pd.DataFrame(model.feature_importances_, index=X.columns, columns=["importance"])
我认为你应该用最好的参数来使用feature_importances_,这是你将要使用的模型。默认参数没有什么特别之处值得特殊处理。至于feature_importances_是如何工作的,你可以参考scikit-learn作者在这里的回答:RandomForestClassifier中的feature_importances是如何确定的?