3章分類

1章では、教師あり学習のタスクでもっとも一般的なものは回帰(値の予測)と分類(クラスの予測)だと説明した。2章では、線形回帰、決定木、ランダムフォレスト(これらについては、あとの章で改めて詳しく説明する)などのさまざまなアルゴリズムを使って住宅価格の予測という回帰のタスクを掘り下げていった。この章では、分類システムについて詳しく見ていこう。

3.1 MNIST

この章では、MNISTデータベースを使う。MNISTは、高校生や米国国勢調査局の職員が手書きした70,000個の数字画像のデータセットである。個々の画像には、表している数のラベルが付けられている。このデータセットは非常によく使われてきたので、機械学習のHello Worldと呼ばれることも多い。新しい分類アルゴリズムが登場するたびに、MNISTでどの程度の性能が出るのかが関心を集める。機械学習を学ぶ人々は、遅かれ早かれMNISTに挑むことになる。

scikit-learnには、よく使われるデータセットをダウンロードするためのヘルパー関数が多数含まれている。MNISTもそのようなデータセットの1つである。次のコードは、MNISTデータセットをフェッチする†1

[†1] sckit-learnは、デフォルトで$HOME/scikit_learn_dataディレクトリにダウンロードしたデータセットをキャッシュしている。

>>> from sklearn.datasets import fetch_openml >>> mnist = fetch_openml('mnist_784', version=1) >>> mnist.keys() dict_keys(['data', 'target', 'feature_names', ...

Get scikit-learn、Keras、TensorFlowによる実践機械学習 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.