为什么特征重要性的顺序根据决策树分类器中的最大深度选择而改变?
我使用了综合数据,但是由于没有必要而且很长,所以我没有共享代码。我只是想知道背后的逻辑,即当我更改最大深度时,为什么重要特征的顺序会发生变化。
dec_tree_clf = tree.DecisionTreeClassifier(max_depth=4, random_state=23, criterion="entropy")
dec_tree_clf.fit(X_data, y_data)
features importance
z 0.267464
n 0.124694
y 0.094134
c 0.090750
i 0.084806
dec_tree_clf = tree.DecisionTreeClassifier(max_depth=3, random_state=23, criterion="entropy")
dec_tree_clf.fit(X_data, y_data)
features importance
z 0.350545
n 0.163426
c 0.118939
i 0.111149
b 0.106650
从here中,您可以看到基尼重要性“ 计算特征用于分割节点的次数,并按其分割的样本数加权“。]]
如果您有在大树中分裂很多的特征,那么在短树中自然会分裂的更少,因此可能会改变基尼的重要性(又名特征重要性
(It is the same))。同样,具有depth=3
的树中的拆分可能与具有depth=4
的树中的拆分不同,这也会改变基尼重要性。