sklearn使用fetch

tech2026-03-18  9

利用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.

最新回复(0)