Python - export_graphviz class_name 类型错误
Python - export_graphviz class_name type error
我正在积极学习如何在 python 中实施决策树。
从 scikit-learn, i get a TypeError for parameters that exist in export_graphviz 重新创建 Iris 分类示例时,即 'class_names' 和 'plot_options'。
from IPython.display import Image
import sklearn
dot_data = StringIO()
sklearn.tree.export_graphviz(clf, out_file=dot_data,
plot_options=['class', 'filled', 'label', 'sample', 'proportion'],
target_names=iris['target_names'],
feature_names=iris['feature_names'])
graph = pydot.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())
上面具体代码的错误是:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-33-aba117838252> in <module>()
5 plot_options=['class', 'filled', 'label', 'sample', 'proportion'],
6 target_names=iris['target_names'],
----> 7 feature_names=iris['feature_names'])
8 graph = pydot.graph_from_dot_data(dot_data.getvalue())
9 Image(graph.create_png())
TypeError: export_graphviz() got an unexpected keyword argument 'plot_options'
在我的电脑上,我安装了 graphviz 和 pydot2。
我在尝试安装 pygraphviz 时收到错误消息:
If you think your installation is correct you will need to manually
change the include_dirs and library_dirs variables in setup.py to
point to the correct locations of your graphviz installation.
The current setting of library_dirs and include_dirs is:
library_dirs=None
include_dirs=None
error: Error locating graphviz.
是否有工作around/solution允许我使用export_graphviz中的参数来构建我想要的树可视化?
寻求 pygraphviz 安装错误的解决方案会导致我的树得到解决方案吗?
谢谢,
export_graphviz
的签名是
def 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):
正确的函数调用是(假设你的数据在 iris 对象中)
sklearn.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)
万一它抛出错误
TypeError: export_graphviz() got an unexpected keyword argument 'class_names'
这意味着你的sklearn是旧版本。如果您使用的是 anaconda python 发行版,您可以使用更新到最新版本的 sklearn
conda update scikit-learn
。如果您使用的是任何其他发行版,请使用 pip
命令。确保你的 sklearn
是 0.17 版本。
import sklearn
print sklearn.__version__
我正在积极学习如何在 python 中实施决策树。
从 scikit-learn, i get a TypeError for parameters that exist in export_graphviz 重新创建 Iris 分类示例时,即 'class_names' 和 'plot_options'。
from IPython.display import Image
import sklearn
dot_data = StringIO()
sklearn.tree.export_graphviz(clf, out_file=dot_data,
plot_options=['class', 'filled', 'label', 'sample', 'proportion'],
target_names=iris['target_names'],
feature_names=iris['feature_names'])
graph = pydot.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())
上面具体代码的错误是:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-33-aba117838252> in <module>()
5 plot_options=['class', 'filled', 'label', 'sample', 'proportion'],
6 target_names=iris['target_names'],
----> 7 feature_names=iris['feature_names'])
8 graph = pydot.graph_from_dot_data(dot_data.getvalue())
9 Image(graph.create_png())
TypeError: export_graphviz() got an unexpected keyword argument 'plot_options'
在我的电脑上,我安装了 graphviz 和 pydot2。 我在尝试安装 pygraphviz 时收到错误消息:
If you think your installation is correct you will need to manually
change the include_dirs and library_dirs variables in setup.py to
point to the correct locations of your graphviz installation.
The current setting of library_dirs and include_dirs is:
library_dirs=None
include_dirs=None
error: Error locating graphviz.
是否有工作around/solution允许我使用export_graphviz中的参数来构建我想要的树可视化? 寻求 pygraphviz 安装错误的解决方案会导致我的树得到解决方案吗?
谢谢,
export_graphviz
的签名是
def 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):
正确的函数调用是(假设你的数据在 iris 对象中)
sklearn.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)
万一它抛出错误
TypeError: export_graphviz() got an unexpected keyword argument 'class_names'
这意味着你的sklearn是旧版本。如果您使用的是 anaconda python 发行版,您可以使用更新到最新版本的 sklearn
conda update scikit-learn
。如果您使用的是任何其他发行版,请使用 pip
命令。确保你的 sklearn
是 0.17 版本。
import sklearn
print sklearn.__version__