为什么特征重要性会随着决策树分类器的每次迭代而变化?

数据挖掘 机器学习 分类 特征选择 决策树
2022-02-23 11:36:42

应用 PCA 减少特征数量后,我使用 DecisionTreeClassifier 解决 ML 问题

在此处输入图像描述 另外我想计算feature_importances_。但是,随着 DecisionTreeClassifier 的每次迭代,feature_importances_ 都会发生变化。

迭代 #1

在此处输入图像描述

迭代 #2

在此处输入图像描述

为什么会改变?我认为最初的拆分是针对“产生最纯粹的子集(按其大小加权)”的功能进行的。作用于相同的训练集,为什么会改变?

提前感谢您的帮助。

1个回答

sklearn.tree.DecisionTreeClassifier帮助

每次拆分时,特征总是随机排列。因此,即使在相同的训练数据和 max_features=n_features 的情况下,如果在搜索最佳拆分期间列举的几个拆分的标准改进相同,则找到的最佳拆分可能会有所不同。为了在拟合期间获得确定性行为,必须固定 random_state。

另外,您可能想看看我对功能重要性的评论