Posts on SVM

MNIST手書き文字機械学習。TensorFlowチュートリアルの前に、scikit-learnのSVMで復習する。

TensorFlowを手持ちのMacにインストールしてチュートリアルを写経...する前に、まずは復習がてらscikit-learnのSVMを使って分類してみようと思います。 久々ですっかり忘れてきているもので。 MNIST手書き文字イメージデータのダウンロード THE MNIST DATABASEからトレーニング用とテスト用の手書きイメージデータをダウンロードしましょう。 以下4つです。 train-images-idx3-ubyte.gz: training set images (9912422 bytes) train-labels-idx1-ubyte.gz: training set labels (28881 bytes) t10k-images-idx3-ubyte.gz: test set images (1648877 bytes) t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes) 手で落としてgunzipしてもいいんですが、せっかくなのでpythonで書いてみます。 MNIST手書きイメージデータを扱うためだけのクラス ダウンロードしてgzip伸長する関数を書くと、こうなります。 …最初メモリを節約しようとgeneratorで書いたんですが、データ数が多すぎて処理が重くなったのでやめました^^; 代わりに、流行り?のasyncioを使います。 MNIST手書き文字イメージデータのDataFrame化 先ほどのクラスを使えば、手書き文字イメージデータをDataFrame化するのは簡単です。 from mnist_dl import…

代表的な機械学習アルゴリズム4つの精度を不倫データで比較する。

変なタイトル…。 またも前回の続きですが、udemyで紹介される機械学習アルゴリズムは以下の4つ。 というより、多すぎて試しきれず、以下の4つに絞ったというか。 ロジスティック回帰 k近傍法 サポートベクトルマシン ナイーブベイズ分類 これらをデフォルトのまま使って予測精度を比較してみようかなと。 まずは不倫データを整えます。前回までの記事にコードのコピペです。 import pandas as pd import numpy as np from pandas import DataFrame, Series import statsmodels.api as sm def is_affairs(affairs): return 1 if affairs > 0 else 0 X = sm.datasets.fair.load_pandas().data Y = X.affairs.…