当前位置: 首页 > 面试题库 >

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

单品
2023-03-14
问题内容

我正在经历sklearn类DecisionTreeClassifier。

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

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


问题答案:

从文档中:

两者之间的主要区别是,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个样本),因为生成的叶子之一将少于叶子节点处所需的最小样本数。

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



 类似资料:
  • 问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。

  • 我来自Java背景,刚接触Scala。 我正在使用Scala和Spark。但是我不明白我在哪里使用和。 有人能告诉我在哪种情况下我需要使用这两个操作符吗?和之间有什么区别吗?

  • 我编写了一个简单的脚本,它接受任意数量的参数来演示< code>$@和< code>$*之间的区别: 在我做的 CLI 上 这就是打印出来的 因为它们是相同的,这是否意味着等于?还是我遗漏了一点?

  • client.query和Table.query之间有什么区别 在这种情况下,client.query应具有比Table.query更高的权限,反之亦然 在AWS留档我遇到了几个点其中之一 如果满足查询条件的项目总数超过结果集大小限制1 MB,则查询将停止,并将结果返回给用户,并使用LastEvaluatedKey元素在后续操作中继续查询。与扫描操作不同,查询操作从不同时返回空结果集和LastEv

  • 问题内容: package main 该代码可以很好地工作。但是,如果按如下所示更改方法,则会导致死循环。区别在于将替换为。为什么? 问题答案: 因为程序包检查要打印的值是否具有方法(或换句话说:是否实现接口),如果是,则将调用它以获取值的表示形式。 软件包doc中对此进行了说明: […]如果操作数实现String()字符串方法,则将调用该方法将对象转换为字符串,然后根据动词的要求对其进行格式化(

  • 我正在通过做微控制器项目来自学C++。我当前的项目是使用一对或Adafruit羽毛分组无线电。无线电数据包的库函数需要一个C样式的字符串(我相信),我理解它是一个char的数组。 我已经设置了一个枚举来反映接收方的各种操作,并希望将该状态发送回发送方。所以我想把枚举变成char的数组。 在搜索将枚举转换为char数组的方法时,最简单的方法(对我来说)是将枚举变量传递给带有switch语句的函数,该