我可以从决策树中的受过训练的树中提取基础决策规则(或"决策路径")作为文本列表吗?
就像是:
if A>0.4 then if B<0.2 then if C>0.8 then class='X'
谢谢你的帮助.
python machine-learning decision-tree random-forest scikit-learn
我是一个使用sciki-learn的菜鸟,所以请耐心等待.
我正在通过这个例子:http: //scikit-learn.org/stable/modules/tree.html#tree
>>> from sklearn.datasets import load_iris
>>> from sklearn import tree
>>> iris = load_iris()
>>> clf = tree.DecisionTreeClassifier()
>>> clf = clf.fit(iris.data, iris.target)
>>> from StringIO import StringIO
>>> out = StringIO()
>>> out = tree.export_graphviz(clf, out_file=out)
Run Code Online (Sandbox Code Playgroud)
显然graphiz文件已经可以使用了.
但是如何使用graphiz文件绘制树?(该示例没有详细说明如何绘制树).
示例代码和提示非常受欢迎!
谢谢!
更新
我正在使用ubuntu 12.04,Python 2.7.3
我正在使用scikit-learn 中的DecisionTreeClassifier对一些多类数据进行分类。我发现很多帖子描述了如何显示决策树路径,例如这里,这里和这里。然而,它们都描述了如何显示训练数据的树。这是有道理的,因为export_graphviz只需要一个合适的模型。
我的问题是如何可视化测试样本上的树(最好通过export_graphviz)。即,在拟合模型clf.fit(X[train], y[train]),然后预测测试数据的结果之后clf.predict(X[test]),我想可视化用于预测样本的决策路径X[test]。有没有办法做到这一点?
编辑:
我看到可以使用Decision_path打印路径。如果有一种方法可以获取DOT输出来export_graphviz显示它,那就太好了。
我希望可视化使用scikit learn中的任何集合方法构建的回归树(gradientboosting regressor,random forest regressor,bagging regressor). 我已经看过这个问题了,这个问题 涉及分类树.但是这些问题需要"树"方法,这在SKLearn的回归模型中是不可用的.
但它似乎没有产生结果.我遇到了问题,因为.tree这些树的回归版本没有方法(该方法仅适用于分类版本).我想要一个类似于此的输出,但是基于sci kit学习构造的树.
我已经探索了与对象相关的方法,但却无法产生答案.
python machine-learning decision-tree random-forest scikit-learn