我一直在尝试安装graphviz并使用python连接来绘制决策树的一些节点。我已经阅读了很多与我有同样问题的线程,但我执行了很多解决方案,但我仍然无法执行我的决策树:(
我不是程序员,我只是一个试图学习机器学习模型的简单经济学家,所以对我来说很难阅读其他主题提供的大部分解决方案。
我的cmd和conda install -c anaconda graphviz
已经conda install -c anaconda pydot
了,安装完成了。 (我还从GraphViz页面下载rar包)
然后我尝试导入graphviz,但python向我显示以下错误No module named 'graphviz'
。
然后我尝试使用以下cd C:\Program Files (x86)\Graphviz2.38\bin
向我的环境添加一个新路径,但我仍然遇到同样的问题。
我正在尝试在我的spyder代码中运行以下脚本,但没有任何成功的
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pydot
from IPython.display import Image, display
# import graphviz as gv
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.externals.six import StringIO
from sklearn.tree import DecisionTreeRegressor, DecisionTreeClassifier,
export_graphviz
from sklearn.ensemble import BaggingClassifier, RandomForestClassifier,
BaggingRegressor, RandomForestRegressor, GradientBoostingRegressor
from sklearn.metrics import mean_squared_error,confusion_matrix,
classification_report
# This function creates images of tree models using pydot
def print_tree(estimator, features, class_names=None, filled=True):
tree = estimator
names = features
color = filled
classn = class_names
dot_data = StringIO()
export_graphviz(estimator, out_file=dot_data, feature_names=features,
class_names=classn, filled=filled)
graph = pydot.graph_from_dot_data(dot_data.getvalue())
return(graph)
hitter =
pd.read_csv('C:\\Users\\ldresl\\Documents\\Chapter8\\Hitters.csv',sep=';')
hitter = hitter.dropna()
#Llamo una nueva matriz
X = hitter[['Years','Hits']].as_matrix()
y = np.log(hitter.Salary.as_matrix())
#Se corre todo el codigo junto
fig, (ax1, ax2) = plt.subplots(1,2, figsize=(11,4))
ax1.hist(hitter.Salary.as_matrix())
ax1.set_xlabel('Salary')
ax2.hist(y)
ax2.set_xlabel('Log(Salary)');
# Corro la regresion de la decision tree (NOTAR QUE NO ES RANDOM FOREST!!!)
regr = DecisionTreeRegressor(max_leaf_nodes=3)
regr.fit(X, y)
graph, = print_tree(regr, features=['Years', 'Hits'])
Image(graph.create_png())
但每当我尝试运行最后两行时,我都会抛出以下错误[WinError 2] "dot.exe" not found in path.
。如果我写import graphviz as gv
也找不到它。
对不起我的英语:(我正在学习:)。
答案 0 :(得分:1)
解决问题的最佳方法是:
来源激活anaconda
pip install pydot
pip install pydotplus
pip install pydot-ng
然后根据您的操作系统类型下载并安装Graphviz:
http://www.graphviz.org/download/
查看我之前的答案以获取更多信息:
Python RuntimeError: Failed to import pydot
答案 1 :(得分:1)
以下命令在Windows 10 Anaconda版本4.8.3中对我有用:
conda install -c anaconda python-graphviz
答案 2 :(得分:0)
Anaconda.org上现在有一个python-graphviz软件包,其中包含用于graphviz工具的Python接口。只需使用以下命令进行安装:
conda install python-graphviz
查看here了解更多信息。
答案 3 :(得分:0)
conda install --channel https://conda.anaconda.org/garylschultz pygraphviz