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。