首页 > 解决方案 > 在 scikit learn 中获取决策树连续拆分变量的值

问题描述

我正在使用决策树将单个特征拆分为以目标为指导的段。

我想要的是将特征拆分为列表或数组的值导出。

对于一个可重现的例子:

from sklearn.datasets import load_iris
from sklearn import tree
iris = load_iris()

target = iris.target

target[target == 2] = 0  # Convert to binary problem

clf_iris = tree.DecisionTreeClassifier(max_depth = 3)

clf_iris.fit(iris.data[:, 3].reshape(-1,1), target) # Classify using only one feature

dot_data_iris = tree.export_graphviz(clf_iris, out_file=None,  
                         filled=True, rounded=True,  
                         special_characters=True)  

graph_iris = graphviz.Source(dot_data_iris) 

在此处输入图像描述

在这个例子中,我想得到一个带有数字的列表/数组:

[0.8, 1.35, 1.75, 1.85]

标签: pythonscikit-learntree

解决方案


您可以通过访问.tree_模型的属性来访问“树”。也许尝试这样的事情:

print(dir(clf_iris.tree_))
print(clf_iris.tree_.threshold)

我认为您正在寻找该.threshold属性,但正如您所看到的,还有一些属性.value可能包含您需要的内容。


推荐阅读