解决Sklearn中使用数据集MNIST无法获取的问题(WinError 10060)

今天在学习PCA的时候,使用mnist数据集遇到一个问题,代码是这样的:

1 import numpy as np
2 from sklearn.datasets import fetch_mldata
3 
4 mnist = fetch_mldata("MNIST original")

遇到了报错:[WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

原因:

以为是源地址被墙了,就搭梯子试试,结果还是不行

搜了一下原因,是因为源地址已经不能用了

解决办法:

使用本地数据集,可以从这下载: https://github.com/amplab/datascience-sp14/raw/master/lab7/mldata/mnist-original.mat

这个速度不快,可以使用我的百度云链接:

链接:https://pan.baidu.com/s/1NH1VSnX_Bkvr3k-Dku4gAw
提取码:herq

下载好后使用fetch_mldata的data_home参数指定文件所在目录

例如:

  我的Jupyter文件在 F:PyCharmWorkSpaceML下,在其中新建一个datasets,并在代码中指定

 mnist = fetch_mldata("MNIST original",data_home='./datasets')

此时再运行,还是会报错,先别急

打开datasets文件夹,发现

这样一个子目录,把下载好的文件放到这里面去,在运行,OK

原文地址:https://www.cnblogs.com/VitoLin21/p/11370039.html