Ответ 1
Существует способ экспорта в формат graph_viz: http://scikit-learn.org/stable/modules/generated/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')
Затем вы можете загрузить это с помощью графика, или если у вас установлен 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
Обновить
Кажется, что произошли изменения в поведении, так как я впервые ответил на этот вопрос, и теперь он возвращает list
и, следовательно, вы получаете эту ошибку:
AttributeError: 'list' object has no attribute 'write_pdf'
Во-первых, когда вы видите это, стоит просто распечатать объект и проверить объект, и, скорее всего, вы хотите, это первый объект:
graph[0].write_pdf("iris.pdf")
Спасибо @NickBraunagel за комментарий