为什么我的决策树叶不纯?

数据挖掘 Python scikit-学习 决策树
2022-03-10 07:59:38

我正在使用DecisionTreeClassifierSKlearn (v0.21.3) 及其默认设置,使用 Python。我不想以任何方式对其进行正则化,我希望它尽可能地过拟合。

当把树画出来时,我看到有些叶子不纯。这是正常的吗?树不能分离样品吗?

   ...
   model = DecisionTreeClassifier(criterion="entropy")
   model = modell.fit(X, y) 
   ...

在此处输入图像描述

1个回答

使用默认设置,在Scikit 文档DecisionTreeClassifier中描述的复杂性方面没有任何限制

因此,如果给定节点是纯节点(所有示例具有相同的分类)或没有进一步的属性可以分支,它将停止进一步分支树。

因此,如果您的最终树包含不纯的叶子(对于已对其进行训练的数据集),则该算法没有任何属性可以进一步拆分。

如果您对数据应用任何类型的随机化,例如随机拆分训练和测试数据,当再次拆分并获得不同的训练集时,结果可能会有所不同。