特征顺序会影响sklearn中的决策树算法吗?

问题描述 投票:0回答:2

我读了一些材料:

但是我可以找到是否更改功能顺序(功能名称集: 数据中的[a,b,c]更改为[b,a,c])。这实际上会影响决策树结果吗?

machine-learning scikit-learn decision-tree
2个回答
0
投票

其实不然。 Sklearn 通常使用购物车树,其中最佳分割是通过选择最小化成本函数的特征来决定的。所以列的顺序并不重要。


0
投票

重新排序列名称 可以更改

sklearn
决策树结果。问题是,对于每个分割,都会考虑
max_features
,并选择影响最大的特征(例如最大的基尼系数降低)。

但是,如果多个特征具有相同的影响——这并不像看起来那么罕见,尤其是对于大量二进制特征——其中一个是随机选择的。

在这种情况下,数据集中的列顺序可能会影响最终决策树中选择的特征。为了确保防止这种情况发生,有必要选择

random seed
并在拟合树之前对数据框列进行排序。

更多解释可以在这里(engelen的答案)和这个Github讨论中找到。

© www.soinside.com 2019 - 2024. All rights reserved.