直接从文档( http://scikit-learn.org/0.12/modules/tree.html ):
from io import StringIO
out = StringIO()
out = tree.export_graphviz(clf, out_file=out)
StringIO
不再支持StringIO
模块,而是导入io
模块。
决策树对象中还有tree_
属性,该属性允许直接访问整个结构。
你可以简单地阅读它
clf.tree_.children_left #array of left children
clf.tree_.children_right #array of right children
clf.tree_.feature #array of nodes splitting feature
clf.tree_.threshold #array of nodes splitting points
clf.tree_.value #array of nodes values
通常,您可以使用inspect
模块
from inspect import getmembers
print( getmembers( clf.tree_ ) )
获取对象的所有元素
0
我一直在探索scikit-learn,用熵和基尼分裂准则来制定决策树,并探索其中的差异。
我的问题是,如何才能“打开引擎盖”并准确找出树木在每个级别上划分的属性以及相关的信息值,这样我才能看到这两个标准在哪里做出不同的选择?
到目前为止,我已经探索了文档中概述的9种方法。他们似乎不允许访问此信息。但是肯定可以访问此信息吗?我正在设想一个列表或字典,其中包含节点和增益的条目。
如果您错过了显而易见的事情,感谢您的帮助和歉意。