在sklearn中可视化决策树

时间:2019-09-06 07:42:47

标签: python tree jupyter-notebook sklearn-pandas

当我想可视化树时,出现此错误。

我已经显示了导入的必需库。木星笔记本有预期的原因吗?

from sklearn import tree
import matplotlib.pyplot
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_breast_cancer
cancer=load_breast_cancer()
x=cancer.data
y=cancer.target
clf=DecisionTreeClassifier(max_depth=1000)
x_train,x_test,y_train,y_test=train_test_split(x,y)
clf=clf.fit(x_train,y_train)
tree.plot_tree(clf.fit(x_train,y_train))

AttributeError:模块'sklearn.tree'没有属性'plot_tree'

4 个答案:

答案 0 :(得分:1)

我将树分配给一个对象,并添加了plt.show()。这对我有用。

%matplotlib inline
from sklearn import tree
import matplotlib.pyplot as plt
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer()
x = cancer.data
y = cancer.target
clf = DecisionTreeClassifier(max_depth = 1000)
x_train,x_test,y_train,y_test = train_test_split(x,y)

fig = clf.fit(x_train,y_train)
tree.plot_tree(fig)
plt.show()

但是我建议使用graphviz,它更加灵活。

答案 1 :(得分:1)

这是因为plot_treesklearn的0.21版,如documentation所示。通过运行以下命令检查版本是否足够:

import sklearn

print(sklearn.__version__)

assert float(sklearn.__version__[2:]) >= 21, 'sklearn version insufficient.'

如果收到错误消息,则需要更新sklearn

pip install --upgrade sklearn

答案 2 :(得分:0)

升级 sklearn 软件包:

pip install --upgrade sklearn

答案 3 :(得分:0)

因为plot_tree是在sklearn 0.21版本之后定义的

用于检查版本 打开任何python空闲 在程序下面运行。

import sklearn
print (sklearn.__version__)

如果版本显示低于0.21,则需要升级sklearn库。

打开 Anaconda 提示符并写入下面的命令

pip install --upgrade scikit-learn