Я пытался преобразовать конечный файл визуализации дерева решений в файл .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