【问题标题】:Sklearn decision tree plot does not appearsklearn决策树图没有出现
【发布时间】:2020-03-30 17:14:02
【问题描述】:

我正在尝试学习关于决策树的 scikit 学习示例:

from sklearn.datasets import load_iris
from sklearn import tree
X, y = load_iris(return_X_y=True)
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, y)

当我尝试绘制树时:

tree.plot_tree(clf.fit(iris.data, iris.target))

我明白了

NameError                                 Traceback (most recent call last)
<ipython-input-2-e72b33a93ee6> in <module>
----> 1 tree.plot_tree(clf.fit(iris.data, iris.target))

NameError: name 'iris' is not defined

【问题讨论】:

  • 为什么要定义名称iris?它从未像iris = ... 那样定义或导入
  • 这就是你的全部代码吗?该错误告诉您 iris 未定义 - 它不是来自您共享的内容。
  • 您在哪里编写代码?即使由于某种原因您无法从错误消息中推断出问题,您的 IDE 也应该指出它,不是吗?
  • 我的“问题”现已解决,但我正在使用 IPython 编写此代码。

标签: python scikit-learn


【解决方案1】:

iris 不存在,如果您不分配它。使用这条线绘制:

tree.plot_tree(clf.fit(X, y))

您已将load_iris()Xy 分配给一个变量,以便您可以使用它们。

此外,确保graphviz 库的bin 文件夹位于PATH 中。

【讨论】:

  • 是的,我以前试过这个,但我没有得到任何数字。可能是因为我使用的是Ipython
  • 我也在使用 ipython。运行时会发生什么?
  • 没有图。只有一个(有向图(?)文件)像[Text(248.0, 338.79999999999995, 'X[2] &lt;= 2.45\ngini = 0.667\nsamples = 150\nvalue = [50, 50, 50]'),...
  • Sklearn 使用graphviz。您是否安装了它,并将其 bin 文件路径添加到 PATH 中?
  • 是的,我已经使用conda (python-graphviz) 安装了它。
猜你喜欢
  • 2018-09-06
  • 2015-04-07
  • 2017-05-22
  • 2018-05-24
  • 2020-07-26
  • 2020-08-03
  • 2019-03-04
  • 2017-05-01
  • 1970-01-01
相关资源
最近更新 更多