отображение фигуры дерева решений scikit в блокноте jupyter - PullRequest
0 голосов
/ 25 января 2019

В настоящее время я создаю блокнот Jupyter для машинного обучения в качестве небольшого проекта и хотел показать свои деревья решений.Однако все варианты, которые я могу найти, - это экспортировать графику, а затем загрузить изображение, что довольно сложно.

Поэтому я хотел спросить, есть ли способ напрямую отобразить деревья моих решений без экспорта и загрузки графики.

Ответы [ 2 ]

0 голосов
/ 26 января 2019

Вы можете показать дерево напрямую, используя IPython.display:

import graphviz
from sklearn.tree import DecisionTreeRegressor, DecisionTreeClassifier,export_graphviz
from sklearn.datasets import make_regression

# Generate a simple dataset
X, y = make_regression(n_features=2, n_informative=2, random_state=0)
clf = DecisionTreeRegressor(random_state=0, max_depth=2)
clf.fit(X, y)
# Visualize the tree
from IPython.display import display
display(graphviz.Source(export_graphviz(clf)))
0 голосов
/ 25 января 2019

Существует простая библиотека с именем graphviz , которую вы можете использовать для просмотра дерева решений.В этом вам не нужно экспортировать графику, она откроет для вас графическое изображение дерева, и вы сможете позже решить, хотите ли вы сохранить его или нет.Вы можете использовать его следующим образом -

import graphviz
from sklearn.tree import DecisionTreeClassifier()
from sklearn import tree

clf = DecisionTreeClassifier()
clf.fit(trainX,trainY)
columns=list(trainX.columns)
dot_data = tree.export_graphviz(clf,out_file=None,feature_names=columns,class_names=True)
graph = graphviz.Source(dot_data)
graph.render("image",view=True)
f = open("classifiers/classifier.txt","w+")
f.write(dot_data)
f.close()

из-за view = True ваши графики откроются, как только они будут отрисованы, но если вы не хотите этого и просто хотите сохранить графики, вы можетеuse view = False

Надеюсь, это поможет

...