【发布时间】:2020-05-26 09:18:32
【问题描述】:
我正在使用来自 Sklearn 的随机森林来获得特征重要性。然而,特征的重要性可能会通过改变 RF 中的 random_state 参数而改变。我想知道是否有任何方法可以通过 RF 获得强大的特征重要性?
【问题讨论】:
标签: python random-forest
我正在使用来自 Sklearn 的随机森林来获得特征重要性。然而,特征的重要性可能会通过改变 RF 中的 random_state 参数而改变。我想知道是否有任何方法可以通过 RF 获得强大的特征重要性?
【问题讨论】:
标签: python random-forest
这是因为随机森林算法的原理。 RF 通过启发式贪婪方式找到最优值。 并以这种启发式的方式工作,它通过随机采样的特征和样本来减轻多棵树的影响。 这里 random_state 给出了随机数进行采样。 如果你看到下面的文件,它会说
如果是int,则random_state是随机数生成器使用的种子;如果是 RandomState 实例,则 random_state 是随机数生成器;如果为 None,则随机数生成器是 np.random 使用的 RandomState 实例。
[https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html][1]
因此,如果您将 random_state 设置为固定值,您可能会为特征重要性设置固定值。 它不保证鲁棒性,因为RF不是保证鲁棒性的算法,而是根据其启发式发现给出答案。
【讨论】: