fetch_mldata报错ImportError: cannot import name ‘fetch_mldata‘ from ‘sklearn.datasets‘

文章目录

    • 原因
    • 解决方法
      • 推荐方法
      • 另一个方法
    • 推荐一个查报错的网址

原因

  想要查看详细原因,请看here和here。简单的说,fetch_mldata()不再能够使用是因为其所依赖的资源不再适用。

解决方法

推荐方法

参考here
  代码中不再适用fetch_mldata()将之替换为fetch_openml()

from sklearn.datasets import fetch_openml
dataset = fetch_openml("mnist_784")

  需要注意的是这个替换并不是一个无缝替换。例如mnist数据集需要改为mnist_784,具体数据集是在https://www.openml.org/网站上,可以自行去查看。该网站有许多方法的完整pipeline,有兴趣建议学习。

另一个方法

  参考here
  这个做法是降低scikit-learn的版本来导入fetch_mldata包,按照博主所说scikit-learn0.19.2以下是支持fetch_mldata包的。因此我们将现在的高版本scikit-learn卸载,然后装为低版本。
bash输入

pip uninstall scikit-learn
pip install scikit-learn==0.19.2 -i https://pypi.tuna.tsinghua.edu.cn/simple/

  本人不推荐此做法。

推荐一个查报错的网址

  传送门

你可能感兴趣的:(python,机器学习,编程语言,python)