从DecisionTreeClassifier获取单个数字变量的分割点

时间:2018-06-21 03:06:11

标签: python scikit-learn decision-tree

我试图从基于单个变量创建的决策树中拆分。以下是正确安全的分割方法吗?

from sklearn.tree import DecisionTreeClassifier
import numpy as np
x = np.array([1,2,3,4,5,6,7])
y = np.array([1,0,0,1,1,0,1])
x = x.reshape(7, -1)

clf = DecisionTreeClassifier()
clf.fit(x, y)

# My splits
np.sort(clf.tree_.threshold[clf.tree_.feature == 0])

我在0中仅看到-2clf.tree_.fature,我的理解是-2代表TREE_UNDEFINED(请参阅here),而另一个点将是具有定义的阈值的叶子。

1 个答案:

答案 0 :(得分:1)

您的理解对获得拆分是正确的,但您的订单受到了尊敬。 -2代表叶子节点,如您从this code section所见,而其他节点是内部节点。但是,此方法存在一个问题,即您不能简单地重新构建顺序或将这些拆分放置在树的最终结构中。

看看this official example,这是获取精确的拆分和节点结构的更彻底的方法。

参考

相关问题