這是我在 pycharm 中運行的代碼,它應該顯示漂亮的可視化圖表,但沒有顯示結果
import matplotlib.pyplot as plt
import pydotplus
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
from sklearn import tree
from io import StringIO
from ipywidgets import Image
from dtreeviz.trees import *
from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import plot_tree
iris = load_iris()
X = iris.data
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# fit the classifier
clf = DecisionTreeClassifier(max_depth=3, random_state=42)
clf.fit(X_train, y_train)
viz = dtreeviz(clf,
x_data=X_train,
y_data=y_train,
target_name='class',
feature_names=iris.feature_names,
class_names=list(iris.target_names),
title="Decision Tree - Iris data set")
plt.show()
例如,我使用此鏈接作為參考 https://github.com/erykml/medium_articles/blob/master/Machine Learning/decision_tree_visualization.ipynb 即使我在 google colab 中運行此代碼,google colab 中也沒有顯示結果,那么有什么問題呢?這段代碼的輸出就是這樣:
Process finished with exit code 0
uj5u.com熱心網友回復:
您的代碼混合了示例代碼的某些部分(并且包含了一些不需要的部分)。
如果您運行以下命令:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from dtreeviz.trees import dtreeviz
from sklearn.tree import DecisionTreeClassifier
iris = load_iris()
x = iris.data
y = iris.target
x_train, _, y_train, _ = train_test_split(x, y, test_size=0.2, random_state=42)
clf = DecisionTreeClassifier(max_depth=3, random_state=42)
clf.fit(x_train, y_train)
viz = dtreeviz(clf,
x_data=x_train,
y_data=y_train,
target_name='class',
feature_names=iris.feature_names,
class_names=list(iris.target_names),
title="Decision Tree - Iris data set")
viz.view()
并且如果您安裝了所有參考的包,并且GraphViz和 GraphViz 被配置為在 PATH 上(在您啟動編輯器/IDE 之前),那么呼叫viz.view()將生成并啟動一個 .svg 檔案。
如果您有一個配置為查看 .svg 的應用程式(如 Web 瀏覽器或 InkScape 等),它應該會顯示您所追求的結果。
(請注意,我還在 Python 3.10.8 上從 PyCharm 運行此代碼 - 任何 3.10 都應該作業 - 使用所有軟體包的最新版本和全新安裝的 GraphViz。)
您可以通過在 PyCharm 中打開終端并運行來檢查是否可以運行 GraphViz dot -V:。您應該會看到如下內容:
dot - graphviz version 6.0.2 (20221011.1828)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/516937.html
上一篇:測驗集的評估指標能否優于訓練集?
