导入错误:没有模块名称sklearn.external.six

时间:2020-08-30 01:46:33

标签: python machine-learning scikit-learn anaconda

我当前正在使用anaconda 4.8.3,并且想要显示决策树图,并且我已经在anaconda中安装了graphviz和pydotplus库,而不是这个,我得到了错误'ModuleNotFoundError:没有名为'sklearn.externals.six'的模块。这是我的代码:

from sklearn.tree import DecisionTreeClassifier
from IPython.display import Image  
from sklearn.externals.six import StringIO  
from sklearn.tree import export_graphviz
import pydot 
features = list(df.columns[1:])
features

这是我的错误:

ModuleNotFoundError   Traceback (most recent call last)
<ipython-input-19-0b3416ce7fda> in <module>

        1 from IPython.display import Image
--->    2 from sklearn.externals.six import StringIO
        3 from sklearn.tree import export_graphviz
        4 import pydot
        5 ModuleNotFoundError: No module named 'sklearn.externals.six'

2 个答案:

答案 0 :(得分:1)

模块sklearn.externals.six在scikit-learn版本0.23中已删除。要使用它,您必须降级到0.22版。为此,您可以-

  1. 在jupyter笔记本中尝试:!pip install --upgrade scikit-learn == 0.22
  2. 在终端中:pip install --upgrade scikit-learn == 0.22

答案 1 :(得分:1)

您可以直接从模块6导入StringIO,而无需降级scikit。

from six import StringIO