小编典典

sklearn DecisionTreeClassifier中的min_samples_split和min_samples_leaf之间的差异

python

我正在经历sklearn类DecisionTreeClassifier

查看类的参数,我们有两个参数 min_samples_splitmin_samples_leaf
。它们背后的基本概念看起来很相似,您可以指定最少数量的样本来确定要进行叶或进一步拆分的节点。

当一个隐含另一个参数时,为什么我们需要两个参数?有什么理由或方案可以区分它们吗?


阅读 4120

收藏
2021-01-20

共1个答案

小编典典

从文档中:

两者之间的主要区别是,min_samples_leaf保证了叶子中的样本数量最少,而min_samples_split可以创建任意小叶子,尽管min_samples_split在文献中更为常见。

为了掌握这一文档,我认为您应该区分 叶子 (也称为 外部节点 )和 内部节点 。内部节点将具有进一步的分割(也称为
节点),而叶子根据定义是没有任何子节点的节点(没有任何进一步的分割)。

min_samples_split指定分割 内部节点 所需的最小样本数,而min_samples_leaf指定在
节点处所需的最小样本数。

例如,如果min_samples_split = 5,并且内部节点有7个样本,则允许拆分。但是,我们说分裂产生了两片叶子,一个带有1个样本,另一个带有6个样本。如果为min_samples_leaf = 2,则将不允许分割(即使内部节点有7个样本),因为生成的叶子之一将少于叶子节点处所需的最小样本数。

如上述参考文件所述min_samples_leaf,无论的值如何,都应保证每个叶子中的样本数量最少min_samples_split

2021-01-20