この本について

この本では競馬予想AIを1から作るYouTubeチャンネル 「競馬予想で始める機械学習・データ分析」 の内容に沿って、競馬予想AI(現在回収率120%)のソースコードをまとめて常に最新版にして公開しています。 まだ動画を見たことのない方は、是非まずは下のチャンネルをのぞいて見てください。

https://youtube.com/channel/UCDzwXAWu1zIfJuPTTZyWthw

この本は次の2つの本の内容をセットにしたものになります。

前半:Chapter02〜Chpater07

https://zenn.dev/dijzpeb/books/951e0f755229125bb79c
この部分では次の読者を想定しています。
  1. ある程度Python、機械学習に精通している方
  2. YouTubeを最新の動画まで見ている方

ソースコードは常に最新のものに更新されていきます。なので、今後、今よりもっと精度の良い競馬予想AIに改良された場合も、それが反映されるようになっています

Chapter02:【無料公開】 競馬予想AIに必要なデータを取ってくる方法
Chapter03:取ってきたデータを加工して機械学習で使える形にする方法
Chapter04:実際に機械学習モデルに学習させる方法
Chapter05:作ったモデルで競馬予想をした場合、回収率はどうなるのか?
Chapter06:【無料公開】 実際に賭けてみると・・・?
Chapter07:まだソースコードを公開していないが、今後やろうと思っていること

後半:Chapter08〜

https://zenn.dev/dijzpeb/books/6bb4672104889fc17829
この部分はYouTube動画の教科書として使うことができます。動画中に出てくるソースコードを載せており、さらに現在では変更された箇所や注意点、よくあるエラーの対処方法などを解説します。

この部分を読めば、Python・機械学習初心者でも、自分で1から競馬予想AIが作れるようになることを目指して作っています。

こちらも、第4回までの動画のコードは現在無料公開しています

実行環境

本書に出てくる出力結果などは、JupyterNotebookやJupyterLabを使うことを想定したものになります。以下は筆者の実行環境です。

OS: MacOS 10.12.6
開発環境: JupyterLab 2.1.3
パッケージのインストール: Anaconda 4.8.5
Python: 3.7.6.final.0

必要なパッケージ

lightgbmやBeautifulSoupなどはインストールが必要なので、pipやcondaなどで適宜インストールしてください。本書では、以下のパッケージがインポートされているとして、話を進めます。

import pandas as pd
import numpy as np
import datetime
from tqdm.notebook import tqdm
from sklearn.metrics import roc_auc_score
from sklearn.preprocessing import LabelEncoder
import lightgbm as lgb
import requests
from bs4 import BeautifulSoup
import time
from tqdm.notebook import tqdm
import re
from urllib.request import urlopen
import optuna.integration.lightgbm as lgb_o

お問い合わせ

内容に関する質問は

Youtubeチャンネルのコメント欄
または
読者コミュニティ

までお願いします。

エラーの対処法など、回答がすぐに欲しいという方はメンバーシップに登録していただくと、優先的に対応します。

その他のお問い合わせは、メールアドレス

dijzpeb2@gmail.com
までお願いします。

更新情報

  • 2020/11/1 ModelEvaluatorクラスのコードに誤植があったため修正。
  • 2020/11/2 動画中のソースコード第5回に、よくあるエラーと対処法を追加。
  • 2020/11/6 動画中第5回のソースコード修正。開発ロードマップ更新。
  • 2020/11/10 Chapter03の出馬表データの加工で、血統データを追加するコードを追加。
  • 2020/11/13 optunaを使うことで回収率120%→144%に更新。
  • 2020/11/16 動画中第5回のソースコード修正。
  • 2020/11/23 目次をクリックしたらソースコードに飛べるように変更。
  • 2020/11/29 動画中第8回のソースコード修正
  • 2020/12/4 classmethod, staticmethodを導入
  • 2020/12/6 開発ロードマップ更新
  • 2020/12/8 動画中第7回のソースコードを修正。開発ロードマップ更新
  • 2020/12/9 Zenn上で本の質問や感想などを受け付けるコミュニティを作成
  • 2020/12/13 出馬表で体重変化が「前計不」のときに対応できるように更新
  • 2020/12/15 開発ロードマップ更新: 上がりタイム
  • 2020/12/15 特徴量を追加し、回収率144%→151%に更新。
  • 2020/12/17 パラメータチューニング後の訓練で、エラーが出る場合の対処法を追加
  • 2020/12/17 開発ロードマップ更新
  • 2020/12/19 モデル作成・学習のソースコードにミスがあったため修正
  • 2021/1/8 馬連BOXによる回収率シミュレーション追加
  • 2021/1/11 開発ロードマップ更新
  • 2021/1/31 HorseResultsクラス更新
  • 2021/2/2 ソースコードをGistによる埋め込みに変更
  • 2021/2/7 単勝適正回収値のコード更新
  • 2021/2/13 馬体重が"計不"の場合の処理追加修正したModelEvaluatorクラスのpredict_proba関数に引数「drop_tansho」を追加
  • 2021/2/25 回収率シミュレーションに標準偏差のプロット追加
  • 2021/3/2 シャープレシオについての説明を追加。各クラスのread_pickle関数をupdate_data関数を使ったものに変更。