Я пытаюсь создать дерево решений, которое я хочу визуализировать, используя точку. Полученный dotfile должен быть преобразован в png.Преобразование дерева решений непосредственно в png
В то время как я могу сделать последний шаг преобразования в DOS, используя что-то вроде
export_graphviz(dectree, out_file="graph.dot")
сопровождающегося командой DOS
dot -Tps graph.dot -o outfile.ps
делает все это прямо в питона Dows не работает и генерирует ошибку
AttributeError: 'list' object has no attribute 'write_png'
Это код программы, которую я пробовал:
from sklearn import tree
import pydot
import StringIO
# Define training and target set for the classifier
train = [[1,2,3],[2,5,1],[2,1,7]]
target = [10,20,30]
# Initialize Classifier. Random values are initialized with always the same random seed of value 0
# (allows reproducible results)
dectree = tree.DecisionTreeClassifier(random_state=0)
dectree.fit(train, target)
# Test classifier with other, unknown feature vector
test = [2,2,3]
predicted = dectree.predict(test)
dotfile = StringIO.StringIO()
tree.export_graphviz(dectree, out_file=dotfile)
graph=pydot.graph_from_dot_data(dotfile.getvalue())
graph.write_png("dtree.png")
Что мне не хватает?
Родственный пост. http://stackoverflow.com/questions/5316206/converting-dot-to-png-in-python – qmaruf