Я пытаюсь отобразить объект дерева решений, созданный с использованием sklearn
DecisionTreeClassifier
.Я генерирую это дерево, используя что-то вроде этого:
tree = DecisionTreeClassifier(max_depth=3, random_state=17).fit(X_train, y_train)
, где X_train
и y_train
- 2D и 1D кадры данных соответственно.Затем я попытался отобразить дерево в jupyter-notebook
следующим образом:
from sklearn.tree import export_graphviz
from io import StringIO
import pydotplus
from ipywidgets import Image
dot_data = StringIO()
export_graphviz(decision_tree=tree, feature_names=df.drop('Churn', axis=1).columns,
out_file=dot_data, filled=True)
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(value=graph.create_png())
Вместо получения отрендеренного изображения в качестве вывода я получаю следующий текст:
Image(value=b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x04\xfd\x00\x00\x01\xf1\x08\x06\x00\x00\x00\x16Y\xc9…
Почему я получаюэто вместо реального изображения?В это видео в 1:04:22, кажется, работает нормально ...