web-dev-qa-db-ja.com

Scikit-learn-Pythonでfetch_openmlを使用してMNIST元のデータセットを読み込めません

PythonでMNIST Originalデータセットをロードしようとしています。 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にロードする他の方法はありますか?

scikit-learnのバージョン0.20.2を使用しています。

私は一般にプログラミングに比較的慣れていないので、簡単な答えが得られればありがたいです。ありがとう!

3
Inglorion

試す

mnist = fetch_openml('mnist_784')

https://www.openml.org/d/554 の下に https://www.openml.org/ で見つけました

9
bav av

あなたは使うことができます:

mist = fetch_openml('mnist_784', version=1)
1
bforblack

fetch_mldataはscikit-learn v0.20から廃止されました

Sklearnバージョンのテスト

import sklearn
sklearn.__version__

データセットをインポート

from sklearn.datasets import fetch_openml
X, y = fetch_openml('mnist_784', version=1, return_X_y=True)

0