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

发布于 2021-01-29 15:08:14

我正在经历sklearn类DecisionTreeClassifier

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

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

关注者
0
被浏览
65
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    从文档中:

    两者之间的主要区别是,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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看