установка graphviz, нет модуля с именем graphviz - PullRequest
0 голосов
/ 30 апреля 2018

Я пытался установить graphviz и соединиться с python, чтобы отобразить некоторые узлы для деревьев решений. Я прочитал много тем с той же проблемой, что и я, но я выполняю большую часть решений, но я все еще не могу выполнить свои деревья решений: (* ​​1001 *

Я не программист, я всего лишь простой экономист, который пытается изучать модели машинного обучения, поэтому мне трудно читать многие решения, представленные в других темах.

Я уже мог conda install -c anaconda graphviz в моем cmd и conda install -c anaconda pydot, и установка была завершена. (Я также скачиваю пакет rar со страницы GraphViz)

Затем я пытаюсь импортировать graphviz, но python показывает следующую ошибку No module named 'graphviz'.

Итак, я пытаюсь добавить в свою среду новый путь со следующим компакт-диском 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 не нашел его.

Извините за мой английский :( Я учусь:).

1 Ответ

0 голосов
/ 30 апреля 2018

Лучший способ решить проблему:

источник активации anaconda
pip install pydot
pip install pydotplus
pip install pydot-ng

Затем вы скачиваете и устанавливаете Graphviz в соответствии с типом вашей ОС:

http://www.graphviz.org/download/

Проверьте мой предыдущий ответ для получения дополнительной информации:
Python RuntimeError: не удалось импортировать pydot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...