决策树+Graphviz

江枫思渺然 提交于 2020-01-19 08:22:31

pydotplus.graphviz.InvocationException: GraphViz’s executables not found

在使用pycharm导出决策树的时候出现了以上错误,下载安装==graphviz-2.38==解决
下载后安装到Python安装目录下的Lib/site-packages中,重启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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!