export_graphviz中的"class_names"意外关键字错误

Zan*_*tsu 3 graphviz python-2.7 pydot scikit-learn

使用以下代码:

classes = ['ham', 'spam']
dot_data = StringIO()
with open("./plots/ritesh.dot", "w") as f:
    export_graphviz(dt_old.named_steps['classifier'], out_file=f, feature_names=vocab1, class_names=classes)
Run Code Online (Sandbox Code Playgroud)

我收到错误作为意外的关键字参数.

Traceback (most recent call last):
  File "DecisionTree.py", line 198, in <module>
    main()
  File "DecisionTree.py", line 133, in main
    export_graphviz(dt_old.named_steps['classifier'], out_file=f, feature_names=vocab1, class_names=classes)
TypeError: export_graphviz() got an unexpected keyword argument 'class_names'
Run Code Online (Sandbox Code Playgroud)

但是在scikit-learn doc中明确提到了这一点

sklearn.tree.export_graphviz(decision_tree, out_file='tree.dot', max_depth=None, feature_names=None, class_names=None, label='all', filled=False, leaves_parallel=False, impurity=True, node_ids=False, proportion=False, rotate=False, rounded=False, special_characters=False)
Run Code Online (Sandbox Code Playgroud)

TypeError的原因是什么?

小智 7

您安装的sklearn版本可能与文档过时了.如果您使用anaconda安装了sklearn,请尝试命令行"conda update scikit-learn"