[scikit-learn] fetch_mldata(‘MNIST original’) がエラーになるのを対処する

[scikit-learn] fetch_mldata(‘MNIST original’) がエラーになるのを対処する

Scikit-learnのMNISTデータをダウンロードできない

この本を使って勉強中ですが、3章分類のところで MNIST のデータセットをダウンロードする箇所があるのですが、うまくいきませんでした。

# MNIST ダウンロード
from sklearn.datasets import fetch_mldata
mnist = fetch_mldata('MNIST original')
mnist

HTTPError: HTTP Error 404: Dataset ‘mnist-original’ not found on mldata.org.

どうもデータ取得元の mldata.org が見つからないみたいです。このままでは立ち行かないのでなのでこれを手動で持ってきたものを使うようにします。

上のIssueで同じこと対処法がありました。

https://github.com/amplab/datascience-sp14/raw/master/lab7/mldata/mnist-original.mat から mnist-original.mat をダウンロードして、ローカルにある scikit-learn のデータが保存されるディレクトリに配置します。ディレクトリのパスは次のコードで取得できます。

from sklearn.datasets.base import get_data_home 
print (get_data_home()) # これで表示されるパスに mnist-original.mat を置く

あとは、mnist = fetch_mldata('MNIST original') のコードを実行すればローカルにあるデータを参照してくれます。

以上。

Pythonカテゴリの最新記事