pydotplus.graphviz.InvocationException: GraphViz’s executables not found
在使用pycharm导出决策树的时候出现了以上错误,下载安装==graphviz-2.38==解决
下载后安装到Python安装目录下的Lib/site-packages中,并且将GraphViz’s executables里的bin目录包含进系统环境变量中,重启IDE即可。
#-- coding:utf-8 --
#From: 仿写 bilibili 菜菜的sklearn课堂代码
#Date: 2020/1/15 16:09
import pydotplus
from sklearn import tree
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
import pandas as pd
wine = load_wine()
print(wine)
print(wine.data)
print(wine.target)
pd.concat([pd.DataFrame(wine.data), pd.DataFrame(wine.target)], axis=1)
print(wine)
print(wine.feature_names)
print(wine.target_names)
Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data, wine.target, test_size=0.3)
clf = tree.DecisionTreeClassifier(criterion="entropy")
clf = clf.fit(Xtrain, Ytrain)
score = clf.score(Xtest, Ytest)
feature_name = ['酒精', '苹果酸', '灰', '灰的碱性', '镁', '总酚', '类黄酮', '非黄烷类酚类',
'花青素', '颜 色强度', '色调', '稀释葡萄酒', '脯氨酸']
dot_data = tree.export_graphviz(clf,
feature_names = feature_name,
class_names = ["琴酒", "雪莉", "贝尔摩德"],
filled = True,
rounded = True)
#graph = graphviz.Source(dot_data)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_pdf('play1.pdf')
graph.write_png('tree.png')
Reference:
https://blog.csdn.net/dou3516/article/details/85052149