我正在尝试用Python加载MNIST原始数据集。sklearn.datasets.fetch_openml
函数似乎对此不起作用。
这是我使用的代码-
from sklearn.datasets import fetch_openml
dataset = fetch_openml("MNIST Original")
我得到了这个错误-
File "generateClassifier.py", line 11, in <module>
dataset = fetch_openml("MNIST Original")
File "/home/inglorion/.local/lib/python3.5/site-
packages/sklearn/datasets/openml.py", line 526, in fetch_openml
data_info = _get_data_info_by_name(name, version, data_home)
File "/home/inglorion/.local/lib/python3.5/site-
packages/sklearn/datasets/openml.py", line 302, in
_get_data_info_by_name
data_home)
File "/home/inglorion/.local/lib/python3.5/site-
packages/sklearn/datasets/openml.py", line 169, in
_get_json_content_from_openml_api
raise error
File "/home/inglorion/.local/lib/python3.5/site-
packages/sklearn/datasets/openml.py", line 164, in
_get_json_content_from_openml_api
return _load_json()
File "/home/inglorion/.local/lib/python3.5/site-
packages/sklearn/datasets/openml.py", line 52, in wrapper
return f()
File "/home/inglorion/.local/lib/python3.5/site-
packages/sklearn/datasets/openml.py", line 160, in _load_json
with closing(_open_openml_url(url, data_home)) as response:
File "/home/inglorion/.local/lib/python3.5/site-
packages/sklearn/datasets/openml.py", line 109, in _open_openml_url
with closing(urlopen(req)) as fsrc:
File "/usr/lib/python3.5/urllib/request.py", line 163, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.5/urllib/request.py", line 472, in open
response = meth(req, response)
File "/usr/lib/python3.5/urllib/request.py", line 582, in
http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.5/urllib/request.py", line 510, in error
return self._call_chain(*args)
File "/usr/lib/python3.5/urllib/request.py", line 444, in
_call_chain
result = func(*args)
File "/usr/lib/python3.5/urllib/request.py", line 590, in
http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request
我该如何解决这个问题呢?或者,是否有其他方法可以将MNIST数据集加载到Python中?
我使用的是0.20.2版的scikit-learn
。
一般来说,我对编程比较陌生,所以如果我能得到一个简单的答案,我将不胜感激。谢谢!
发布于 2019-03-05 23:40:29
发布于 2020-03-22 20:21:04
您可以使用:
mist = fetch_openml('mnist_784', version=1)
发布于 2020-02-28 18:41:09
自scikit learn v0.20以来,fetch_mldata已被弃用
测试sklearn版本
import sklearn
sklearn.__version__
导入数据集
from sklearn.datasets import fetch_openml
X, y = fetch_openml('mnist_784', version=1, return_X_y=True)
示例
https://stackoverflow.com/questions/54365045
复制相似问题