Mã của tôi tuân theo lớp học máy của google. Hai mã giống nhau.Tôi không biết tại sao nó lại hiển thị lỗi. Có thể là loại biến là error.But mã của google là giống với tôi.Who đã từng có vấn đề này?graph.write_pdf ("iris.pdf") AttributeError: đối tượng 'list' không có thuộc tính 'write_pdf'
Đây là lỗi
[0 1 2]
[0 1 2]
Traceback (most recent call last):
File "/media/joyce/oreo/python/machine_learn/VisualizingADecisionTree.py", line 34, in <module>
graph.write_pdf("iris.pdf")
AttributeError: 'list' object has no attribute 'write_pdf'
[Finished in 0.4s with exit code 1]
[shell_cmd: python -u "/media/joyce/oreo/python/machine_learn/VisualizingADecisionTree.py"]
[dir: /media/joyce/oreo/python/machine_learn]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]
Đây là mã
import numpy as np
from sklearn.datasets import load_iris
from sklearn import tree
iris = load_iris()
test_idx = [0, 50, 100]
# training data
train_target = np.delete(iris.target, test_idx)
train_data = np.delete(iris.data, test_idx, axis=0)
# testing data
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")
Cảm ơn bạn rất rất rất nhiều !!!! Phương pháp này đã giải quyết được vấn đề của tôi. –
Tôi chỉ có một cái nhìn. Đồ thị là một danh sách và nó chứa một đối tượng pydot.Dot.I sử dụng đối tượng pydot.Dot gọi hàm write_pdf ("iris.pdf") , nó cũng giải quyết được câu hỏi. –
@ 乔守卿 Bạn đã sử dụng cú pháp nào/bạn đã sử dụng pydot.Dot như thế nào? – programmer