2018年8月20日月曜日

Pythonのscikit-learnライブラリでMNISTのデータが読み込めないときの対処法

機械学習をしようとして、下記コマンドを実行しても、2018/08/20時点では データをホストしているmldata.orgが落ちているのでエラーになる。
from sklearn import datasets
mnist = datasets.fetch_mldata('MNIST original', data_home='.')
同じデータがgithubで公開されているのでそれをダウンロードする。

https://github.com/amplab/datascience-sp14/raw/master/lab7/mldata/mnist-original.mat

Jupyterで実行している場合は、
 !wget https://github.com/amplab/datascience-sp14/raw/master/lab7/mldata/mnist-original.mat 
でダウンロードできる。

最初のコマンドで、data_homeに指定したディレクトリに
mldataディレクトリができているので、そこへダウンロードしたファイルを移動する。
!mv mnist-original.mat ./mldata
これで再度
mnist = datasets.fetch_mldata('MNIST original', data_home='.')
とコマンドを実行すると、mnistという変数に読み込んでくれる。