sklearn使用fetch_mldata(‘MNIST original’)读取mnist数据集出错解决办法

利用mnist数据集进行手写数字识别案例,运行以下代码时报错

from sklearn.datasets import fetch_mldata
mnist = fetch_mldata("MNIST original")
mnist

报错图片

在这里插入图片描述
在这里插入图片描述
下面是我从网上搜索找到的2种解决办法,亲测均有效,希望对遇到此问题的你也有帮助!

解决办法

1.下载mnist-original.mat
https://github.com/amplab/datascience-sp14/raw/master/lab7/mldata/mnist-original.mat.
2.把mnist-original.mat放到mldata文件夹下
注:因为mldata文件夹下存放mnist数据集

法1:修改data_home="./datasets"

修改data_home="./datasets"并运行代码
在这里插入图片描述
上面的代码中的data_home表示你的数据集的文件路径,写的是一个相对路径,如果你没有将你的数据集放在你当前代码的目录下,你可能需要使用绝对路径

虽然代码仍然报错,但我们发现在程序同目录下多了datasets文件夹,而且打开它里面是mldata文件夹。(这样我们就不用手动建文件夹了)
在这里插入图片描述
把mnist-original.mat放到datasets/mldata下在这里插入图片描述
再运行代码:在这里插入图片描述

成功!

法2:将下载的数据集文件放到scikit数据根目录下的mldata目录。

根目录查询方式:

 from sklearn.datasets.base import get_data_home 
 print (get_data_home())

我的在C:\Users\Administrator\scikit_learn_data
在这里插入图片描述
在这里插入图片描述
把下载的mnist-original.mat放到这里:
在这里插入图片描述
不用修改data_home:
在这里插入图片描述
成功!

参考文献

[1] https://blog.csdn.net/qq_41312839/article/details/86671939.
[2] https://www.cnblogs.com/funykatebird/articles/11734579.html.


版权声明:本文为weixin_42947848原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。