【发布时间】:2019-01-08 09:55:59
【问题描述】:
我正在尝试关注谷歌的机器学习视频之一,我特别卡在这一点上 (https://youtu.be/tNa99PG8hR8?t=265)
我正在使用 Spyder / Python 2.7:
from sklearn.datasets import load_iris
import numpy as np
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)
#Copied 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,
special_characters=True)
graph = pydot.graph_from_dot_data(dot_data.getvalue())
graph.write_pdf("iris.pdf")
输出是
NameError: global name 'dot_parser' is not defined
我按照说明使用 PydotPlus 和 Pyparsing 2: NameError: global name 'dot_parser' is not defined
来自conda list我得到
pyparsing 2.0.3 py27_0 defaults
pydotplus 2.0.2 <pip> defaults
【问题讨论】: