在scikit-learn的决策树实现中如何保证min_samples_leaf?

问题描述 投票:0回答:1

在调用拆分器之前,决策树checks that there are more than 2 * min_samples_leaf nodes的实现,这很好。

然后,在拆分器的实现中,按选定的功能进行排序后,我们得到了这个while循环,该循环遍历所有可能的拆分并根据杂质选择最佳拆分:

https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_splitter.pyx#L401

在我看来,[c0]完全有可能找不到合适的分割。一个例子是:

due to this while loop

在这种情况下,我们找不到任何合适的分割,并且“最佳位置”默认为“结束位置”。我在这里想念什么吗?

machine-learning scikit-learn random-forest decision-tree
1个回答
0
投票

找到了我自己的答案ha-

如果找不到合适的拆分,则“最佳位置”默认为“终止位置”,但“终止位置”不是有效位置,拆分器的调用者将对此进行检查并将其标记为叶子,如果发生这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.