2016-11-14 15 views
0

Я получил следующий код из Visualizing a Decision Tree - Machine Learning импорта NumPy в н.п. из sklearn.datasets импорта load_iris из sklearn импорта дереваСоздание PDF с помощью pydot

iris = load_iris() 
test_idx = [0, 50 , 100] 

train_target = np.delete(iris.target, test_idx) 
train_data = np.delete(iris.data, test_idx , axis=0) 

test_target = iris.target[test_idx] 
test_data = iris.data[test_idx] 

clf = tree.DecisionTreeClassifier() 
clf.fit(train_data, train_target) 

print(test_target) 
print(clf.predict(test_data)) 

#viz_code 
from sklearn.externals.six import StringIO 
import pydot 
dot_data = StringIO() 
tree.export_graphviz(clf, 
     out_file=dot_data, 
     feature_names = iris.feature_names, 
     class_names = iris.target_names, 
     filled = True, rounded = True, 
     impurity = False) 
graph = pydot.graph_from_dot_data(dot_data.getvalue()) 
graph.write_pdf("iris.pdf") 

Я попытался запустить его в моем питона 3.5, но я получаю ошибка, указывающая, что график - это список.

Traceback (most recent call last): 
    File "Iris.py", line 31, in <module> 
    graph.write_pdf("iris.pdf") 
AttributeError: 'list' object has no attribute 'write_pdf' 
Press any key to continue . . . 

Как получилось вот список?

ответ