【发布时间】:2018-10-08 16:45:54
【问题描述】:
在我的一个项目中,我试图使用 RandomForestRegressor(sklearn) 来确定我的 12 个特征中的哪一个是针对目标变量的最大驱动因素。 RandomForest 很好地为您提供了一个特征重要性列表,解释了哪些特征最适合用来解释目标。但我仍然不确定我的模型的 max_features 应该是什么,因为默认答案是使用所有特征,这意味着我的模型只是袋装树的集合。在经历了一些 discussions 之后,如果你真的在寻找一个随机的树木森林,那么使用 n/3 作为最大特征数是有意义的。我继续使用 n/3 作为最大特征数,因为我得到了非常好的 r-square。
最近,当我将 max_features 更改为 n 时,我意识到我的特征重要性完全不同。如果特征重要性真的在 1-10 的范围内彼此相关,那么当我将特征数量从 n/3 更改为 n 时,它真的可以增加/从 0.36 增加到 0.81 是否有意义?那么如果我试图确定最具解释性的变量,那么 max_features 应该是什么,因为我在 n/3 和 n 上都得到了非常好的 r-square。我无法弄清楚我错过了什么。请建议如何继续。非常感谢。
【问题讨论】:
标签: python scikit-learn random-forest feature-selection