繁体   English   中英

在scikit中获取由决策树连续拆分变量的值

[英]Getting the values at which a variable is split consecutively by a decision tree in scikit learn

我正在使用决策树将单个功能拆分为以Target为指导的细分。

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

对于可重现的示例:

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]

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

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

我认为您正在寻找.threshold属性,但是如您所见,还有.value这样的属性可能包含您所需要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM