在调用拆分器之前,决策树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
在这种情况下,我们找不到任何合适的分割,并且“最佳位置”默认为“结束位置”。我在这里想念什么吗?
找到了我自己的答案ha-
如果找不到合适的拆分,则“最佳位置”默认为“终止位置”,但“终止位置”不是有效位置,拆分器的调用者将对此进行检查并将其标记为叶子,如果发生这种情况。