Posts on data science

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…

Udemyデータサイエンス講座のロジスティック回帰テーマは「不倫」。

実践 Python データサイエンス、最後の方でscikit-learnを使って機械学習の基礎が学べます。これは面白い。 今やっとロジスティック回帰なんですが、ここに至るまでにこなしたのは株価解析や(これも面白かったけど)、アメリカ大統領選得票数の解析など、ちょっと堅いテーマが多かったのです。 それがロジスティック回帰にきて、テーマはなんと、「不倫」。 以下のようなデータセットを使ってLogisticRegressionモデルに食わせるわけですが、要するに以下のパラメータを与えれば、その人が不倫するかしないかの2値で予測結果が返っってくるというわけです。あくまで機械学習の学習用のテーマに過ぎないんですが…。 print(sm.datasets.fair.NOTE) :: Number of observations: 6366 Number of variables: 9 Variable name definitions: rate_marriage : How rate marriage, 1 = very poor, 2 = poor, 3 = fair, 4 = good, 5 = very good age : Age yrs_married…