Python对我来说是比较新的。Python:NameError:全局名称'dot_parser'未定义
我试图运行“Scikit Python中的机器学习”一书的泰坦尼克号机器学习示例。使用决策树的分类工作正常(clf被正确定义),但如果我想要可视化决策树(请参阅下面的代码片段),我得到以下错误消息(从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
有人能帮助我吗?
代码片断,我用(类似于书)是:
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')
欢迎堆栈交流!我想表达感谢,希望能够把一个很好的问题放在一起。我建议你不要说“有人可以帮我吗?”从未来的职位,因为它可能是SO社区的许多成员的红旗。否则,这看起来像一个坚实的问题。 – amccormack
''dot_parser''是什么包?你有没有导入它(就像你已经导入''pydot''和''StringIO'')? –