DecisionTreeClassifier和DecisionTreeRegressor的tree._feature在最后几次返回-2的值。这是由于它们是叶节点吗?我可以将任何-2的值视为叶节点特征吗?
回答:
通常来说,是的。当某个节点没有分支时,对象变量.tree_.feature
会返回-2
,这种情况仅在节点是叶节点时发生(当树在没有修剪的情况下生长,即fit(..., ccp_alpha=0)
)。
虽然在help()
文档中这一点不是100%明确,但可以在代码中找到对此的引用:https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx
其中feature
值被设置为静态变量TREE_UNDEFINED = -2
。