5
votes

Scikit-learn - Impossible de charger l'ensemble de données d'origine MNIST à l'aide de fetch_openml en Python

J'essaye de charger le jeu de données original MNIST en Python. La fonction sklearn.datasets.fetch_openml ne semble pas fonctionner pour cela.

Voici le code que j'utilise-

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

J'obtiens cette erreur-

from sklearn.datasets import fetch_openml
dataset = fetch_openml("MNIST Original") 

Comment puis-je répare ça? Sinon, existe-t-il un autre moyen de charger l'ensemble de données MNIST dans Python?

J'utilise la version 0.20.2 de scikit-learn.

I Je suis relativement nouveau dans la programmation en général, donc j'apprécierais si je pouvais obtenir une réponse simple. Merci!


7 commentaires

Essayez fetch_mldata ('MNIST original')


Cela n'a pas fonctionné pour moi non plus; Je pense que fetch_mldata sera bientôt obsolète de toute façon.


Vous avez raison. Essayez 'MNIST original', pas MNIST Original


Je l'ai fait et j'ai eu la même erreur.


consultez les réponses sur ce fil de discussion stackoverflow .com / questions / 47324921 /…


@DrBrwts: Je l'ai fait, cela semble être un problème sans rapport avec ce à quoi je suis confronté, car j'ai eu une erreur totalement différente ...


from sklearn import datasets data = datasets.load_digits () J'espère que cela vous suffit pour les données MNIST originales


3 Réponses :


12
votes

Essayez

mnist = fetch_openml('mnist_784')

Je l'ai trouvé via https://www.openml.org / sous https://www.openml.org/d/554 p>


0 commentaires

0
votes

fetch_mldata est obsolète depuis scikit-learn v0.20

Tester la version sklearn

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

Importer l'ensemble de données

import sklearn
sklearn.__version__

Exemple


0 commentaires

2
votes

vous pouvez utiliser:

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


0 commentaires