【发布时间】:2015-07-19 13:37:16
【问题描述】:
Python 对我来说相当新。
我正在尝试运行“Machine Learning in Python with Scikit”一书中的巨大机器学习示例。使用决策树的分类工作正常(clf 定义正确),但如果我想可视化决策树(参见下面的代码 sn-p),我收到以下错误消息(从 IPython 复制)。
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-34-15b1b4a5d909> in <module>()
3 dot_data = StringIO.StringIO()
4 tree.export_graphviz(clf, out_file = dot_data, feature_names = ['PClass', 'AgeFill', 'Gender'])
----> 5 graph = pydot.graph_from_dot_data(dot_data.getvalue())
6 graph.write_png('titanic.png')
C:\Users\885299\AppData\Local\Continuum\Anaconda32\lib\site-packages\pydot.pyc in graph_from_dot_data(data)
218 """
219
--> 220 return dot_parser.parse_dot_data(data)
221
222
NameError: global name 'dot_parser' is not defined
有人可以帮助我吗?
我使用的代码 sn-p(类似于本书)是:
import pydot, StringIO
dot_data = StringIO.StringIO()
tree.export_graphviz(clf, out_file = dot_data, feature_names = ['Class', 'Age', 'Gender'])
graph = pydot.graph_from_dot_data(dot_data.getvalue())
graph.write_png('titanic.png')
from IPython.core.display import Image
Image(filename = 'titanic.png')
【问题讨论】:
-
欢迎来到 Stack Exchange!我想说谢谢你把一个格式良好的问题放在一起。我建议您省略“有人可以帮助我吗?”来自未来的帖子,因为这对 SO 社区的许多成员来说可能是一个危险信号。否则,这看起来是一个可靠的问题。
-
dot_parser在什么包中?你导入了吗(就像你导入了pydot和StringIO一样)?
标签: python