Ошибка при попытке преобразовать точечный файл визуализации дерева решений DecisionTreeRegression в файл .png - PullRequest
0 голосов
/ 05 мая 2019

Я пытался преобразовать конечный файл визуализации дерева решений в файл .png, используя graphviz в python.

Но ниже выдается ошибка.Я не уверен, что я делаю неправильно.

Любая помощь будет оценена.

Спасибо,

Сол

Код:

import numpy as np

import matplotlib.pyplot as plt 

from sklearn.tree import DecisionTreeRegressor  

from sklearn.tree import export_graphviz

from subprocess import call

from IPython.display import Image

import pydotplus

from subprocess import check_call

import graphviz

dataset = np.array( 
[['Asset Flip', 100, 1000], 
['Text Based', 500, 3000], 
['Visual Novel', 1500, 5000], 
['2D Pixel Art', 3500, 8000], 
['2D Vector Art', 5000, 6500], 
['Strategy', 6000, 7000], 
['First Person Shooter', 8000, 15000], 
['Simulator', 9500, 20000], 
['Racing', 12000, 21000], 
['RPG', 14000, 25000], 
['Sandbox', 15500, 27000], 
['Open-World', 16500, 30000], 
['MMOFPS', 25000, 52000], 
['MMORPG', 30000, 80000] 
]) 


X= dataset[:,1:2].astype(int) #covert to integer

y = dataset[:, 2].astype(int)  

reg = DecisionTreeRegressor(random_state=0)

reg.fit(X,y)

pred_case = reg.predict([[3750]])

print("Predicted price: % d\n"% pred_case)  

X_grid = np.arange(min(X), max(X), 0.01)
X_grid = X_grid.reshape((len(X_grid), 1))
plt.scatter(X, y, color='red')

plt.plot(X_grid, reg.predict(X_grid), color = 'blue')  

plt.title('Profit to Production Cost (Decision Tree Regression)')  

plt.xlabel('Production Cost') 

plt.ylabel('Profit') 

plt.show() 

dotfile = export_graphviz (reg, out_file = None, feature_names =        ['Production Cost'])

graph = graphviz.Source(dotfile)
graph.render('dtree_render', view=True)

Ошибка:

Трассировка (последний последний вызов):

Файл "", строка 1, в runfile ('/home/saul/pythonWork/DTRegressor_test.py ', wdir =' / home / saul / pythonWork ')

Файл "/home/saul/anaconda3/lib/python3.7/site-packages/spyder_kernels/customize / spydercustomize.py ", строка 786, в исполняемом файле исполняемого файла (имя файла, пространство имен)

File" /home/saul/anaconda3/lib/python3.7/site-packages/spyder_kernels/customize/spydercustomize.py", строка 110, в execfile exec (compile (f.read (), имя файла, 'exec'), пространство имен)

Файл" /home/saul/pythonWork/DTRegressor_test.py ", строка 82, вgraph.render ('dtree_render', view = True)

Файл "/home/saul/.local/lib/python3.7/site-packages/graphviz/files.py", строка 188, в рендереrendered = backend.render (self._engine, format, filepath, renderer, formatter)

Файл "/home/saul/.local/lib/python3.7/site-packages/graphviz/backend.py", строка 183, в прогоне рендеринга (cmd, capture_output = True, check = True, quiet = quiet)

Файл "/home/saul/.local/lib/python3.7/site-packages/graphviz/backend.py", строка 150, при запуске поднимите ExecutableNotFound (cmd)

ExecutableNotFound: не удалось выполнить ['dot', '-Tpdf', '-O', 'dtree_render'], убедитесь, что исполняемые файлы Graphviz в ваших системах 'PATH

...