有一种方法可以导出为graph_viz格式:http
://scikit-
learn.org/stable/modules/generation/sklearn.tree.export_graphviz.html
因此,从在线文档中:
>>> from sklearn.datasets import load_iris>>> from sklearn import tree>>>>>> clf = tree.DecisionTreeClassifier()>>> iris = load_iris()>>>>>> clf = clf.fit(iris.data, iris.target)>>> tree.export_graphviz(clf,... out_file='tree.dot')
然后,您可以使用graph viz加载此文件,或者如果您已安装pydot,则可以直接进行以下操作:http ://scikit-
learn.org/stable/modules/tree.html
>>> from sklearn.externals.six import StringIO >>> import pydot >>> dot_data = StringIO() >>> tree.export_graphviz(clf, out_file=dot_data) >>> graph = pydot.graph_from_dot_data(dot_data.getvalue()) >>> graph.write_pdf("iris.pdf")将产生一个svg,在此处无法显示,因此您必须点击以下链接:http : //scikit-
learn.org/stable/_images/iris.svg
更新资料
自从我第一次回答这个问题以来,似乎行为有所变化,现在返回a
list,因此您将收到此错误:
AttributeError: 'list' object has no attribute 'write_pdf'
首先,当您看到此内容时,仅打印对象并检查该对象是值得的,最有可能的是第一个对象:
graph[0].write_pdf("iris.pdf")感谢@NickBraunagel的评论



