楽して競馬に勝ちたい!機械学習初心者が競馬予測モデルを作ってみた話
詳細情報
発表のハイライト
- 機械学習初心者であるラクティさんが、競馬の予想モデルをPythonで開発した話。
- JRDBの無料データを使って、LightGBMで3着以内に入る確率を予測するモデルを作成。
- 東京競馬場で実際にモデルを使って馬券を購入し、結果や学びを共有。
- 今後はリアルタイムオッズの取得や、アプリからの馬券購入機能などを開発予定。
競馬の魅力と馬券で勝つための挑戦
ラクティさんは、競馬の魅力はギャンブルだけではないと言います。馬が主役のスポーツであり、レースの迫力や推し馬の活躍に興奮できる点も魅力的です。
でも、やっぱり馬券で勝ちたいですよね!馬券で勝つには、情報収集から予想、買い目検討、馬券購入まで、様々な工程が必要になります。ラクティさんは、その中でも特に競馬データの入手と分析に焦点を当て、機械学習を活用した競馬予測モデルを開発することに挑戦しました。
競馬データの入手とモデル作成
ラクティさんが選んだのは、JRDBという無料で利用できる競馬データサイト。ただし、データはテキストファイル形式で、しかも固定長形式というちょっとクセのあるデータ形式でした。
ラクティさんは、このテキストファイルをPythonで解析し、PostgreSQLに格納することで、分析しやすい環境を整えました。
そして、LightGBMという機械学習ライブラリを使って、過去のレースデータから3着以内に入る確率が高い馬を予測するモデルを構築しました。特徴量は、なんと606項目からNull importancesやborutaなどの手法を使って、129項目に絞り込みました。
実際の馬券購入と結果
5月26日に行われた東京競馬場で、作成したモデルで予想した馬券を購入。結果は残念ながら負けでしたが、貴重な経験となりました。
ラクティさんは、モデルの予想結果だけでなく、競馬場、距離、クラスといった要素も考慮することで、より精度の高い予想が可能になることを学びました。
モデル開発で得られた学びと今後の展望
モデル開発を通して、ラクティさんはいくつかの課題に直面しました。
- モデルの予想結果だけでは、必ずしも回収率が100%を超えるわけではない。
- 購入点数を増やすと的中率は上がるものの、資金管理が難しくなる。
これらの課題を解決するために、ラクティさんは、競馬場、距離、クラスごとにモデルを作成したり、モデルの傾向を分析して購入時に絞り込んだりすることで、回収率100%超を達成しました!
今後は、リアルタイムオッズの取得やアプリからの馬券購入機能など、より実用的な機能を追加していく計画です。また、ラップタイムやレース映像など、新しいデータを取り入れて、モデルの精度向上を目指していきます。
まとめ
ラクティさんの競馬予測モデル開発は、機械学習初心者でも、無料で入手できるデータとオープンソースのツールを活用すれば、本格的な機械学習に挑戦できることを示しています。
データ分析やモデル構築は簡単ではありませんでしたが、ラクティさんは、諦めずに挑戦し、多くの学びを得ることができました。競馬に興味のある方はもちろん、機械学習を学びたい方にとっても、参考になる内容ではないでしょうか?