見出し画像

【競馬AI開発#6】馬の過去成績の集計方法・レース情報テーブルの取得

この【競馬AI開発】シリーズでは、競馬予想AIを作ることを通して、機械学習・データサイエンスの勉強になるコンテンツの発信や、筆者が行った実験の共有などを行っていきます。

■今回やること

  1. 馬の過去成績データをどのように集計して特徴量にすれば良いのか?

  2. netkeiba.com上で非構造化データになっているレース情報データを、どのようにテーブル形式のデータにうまくまとめるか?

について扱っていきます。

1についてですが、「その馬が過去どんな成績を上げてきたか」は重要な予測材料になるので、馬の過去成績をどのように集計するかは、競馬AI作成において一番の肝と言っても過言ではありません。
ここを間違いのないように、かつなるべくシンプルなコードで実装するには少し技術がいるので、詳しく解説していきます。

2については、netkeiba.comのraceページから、レースの情報を取得し、前処理済みのテーブルに加工します。

https://db.netkeiba.com/race/202306010101/

見て分かると思いますが、テーブル形式のデータになっておらず(このようなデータを「非構造化データ」といいます)、見るからにテーブル形式に変換するのが大変そうです。

これも、なるべくシンプルなコードで取得・管理し、最終的に2023年全てのレース情報を取得して加工した、以下のテーブルを完成させます。

前処理したレース情報テーブル

【動画(概要編)】

■動画中の実行環境

・OS: Mac OS 14.2.1
・言語: Python 3.11.4
・エディタ: VSCode 1.87.0

VSCodeやPythonのインストール方法については様々な記事で紹介されているので、適宜参照して設定してください。

また、以下のライブラリを使用しています。

beautifulsoup4==4.12.3
pandas==2.2.1
selenium==4.18.1
tqdm==4.66.1
webdriver_manager==4.0.1

■筆者のプロフィール

東京大学大学院卒業後、データサイエンティストとしてWEBマーケティング調査会社でWEB上の消費者行動ログ分析などを経験。
現在は、大手IT系事業会社で、転職サイトのレコメンドシステムの開発を行っています。


動画中のソースコード

ここから先は

13,003字 / 19画像 / 1ファイル

¥ 980

この記事が気に入ったらサポートをしてみませんか?