文系事務職がゼロから競馬予想プログラムを作る話~初学者がオライリーに挑んでみた編~
前回までのあらすじ
プログラミングの知識・経験がほぼゼロに近い私は、GWを費やし、UdemyでPythonと機械学習の知識と実践を一通り学習した。いよいよ次は自分でプログラムを組み立てる番だ!
本を購入する
さて、Udemyで機械学習の基礎を学習しましたが、実際にプログラムを組み立て、予想するためには2つ問題点がありました。
①データが必要
機械学習をしていく上で、必ず必要なのは、プログラムに学習させる
ためのデータです。今回これは比較的に容易に準備することが出来まし
た。
このJRAが提供している『TARGET frontier JV』は有料でしたが、20年分
のデータを閲覧することができました。また、それをエクセルで出力する
こともできたため、プログラムに学習させる上では問題ありませんでし
た。
②知識が足りない
実際に機械学習を行うためには、汚いデータを機械学習向きに加工
することが必要です。また、どのような手順で機械学習を行えばよいか、
結果をどのように解釈すればよいかといった知識や実践手段が不足してい
ました。こちらは、更なる学習が必要なので、本を購入することにしま
した。
以上の理由から、Udemyの学習が終了した翌日、私は次の本を購入しました。
何故これを手に取ったのでしょうか?
答えは一つです。
「人生で一度くらいオライリーの本で学習してみたかったから。」
なんとまあ幼稚な発想ではありませんか。
機械学習の基礎を深めていく
ただし、この本を選択したことは「とにかく早く機械学習ができるようになる」という目的から見たら正解でした。各章のソースコードがオライリーのHPから全てダウンロードできたため、とにかく手を動かせば、プログラミングができる環境が整ったのです。
また、内容についてもこの1冊で自分がやりたい機械学習の内容を一通りさらうことができる内容でした。具体的には、
1章:はじめに
Udemyの復習でした。
2章:教師あり学習
Udemyで軽く学習した機械学習の内容を技術的な面で深堀りする内容でした。色々な学習方法を比較検討できたため、非常に勉強になりました。
3章:教師なし学習と前処理
今回は教師あり学習しか学習対象ではなかったため飛ばしました。
4章:カテゴリ変数
特徴量を作成するためのカテゴリ変数やダミー変数を作るコードが掲載されていることが非常に勉強になりました。これがあれば色々な質的変数をモデルに入れることができます。
5章:モデルの評価と改良
一番勉強になった章です。ROCカーブやAUCといった内容はこの本で初めて学習しました。
6章:アルゴリズムとパイプライン
7章:テキストデータの処理
飛ばしました。
引き続き週末は予定がなく、会社も在宅勤務が続いていたため、空いた時間は全てプログラミングの学習に費やしました。
この期間(5月中旬~下旬)にやったこと
・ 機械学習のコードの書き方
・ ナイーブベイズ、SVM、決定木などのアルゴリズム
・ 特徴量エンジニアリング
・ F値やAOCといったモデルの評価指標について
目標はダービー!
勉強を始めたのは、5月の初め。私には目標がありました。
『日本ダービーを機械学習で予想したい!(できれば当てたい)』
データは揃っていました。コードはほぼオライリーのコピペでしたが、なんとか用意することができました。データの前処理はPandasでできればよかったのですが、技術的にも時間的にもむりでしたので、エクセルで行いました。
そしていよいよ日本ダービー当日を迎えました...