こんにちは。TATです。
今日のテーマは「Pythonで競馬予測AIを開発して専用サイトまで自作したお話。」です。
この度、新しいサイトを作ったのでご紹介します。
「競馬の預言者」というサイトです。
名前の通り、Pythonで開発したAIモデルによる競馬予測をメインに発信するサイトになります。
完全に自己満足のために作成したサイトですw
本記事では、この「競馬の預言者」について紹介しつつ、サイト作成に至る経緯についてご紹介していこうと思います。
半分は自己満足のためですが、これまで勉強してきた内容を活かすためでもあります。
AIモデルを開発するために必要なことや、今後の展望などについてまとめていきます。
Pythonで競馬予測AIを作ることに興味のある方の参考になれば嬉しいです。
「競馬の預言者」について
まずは、「競馬の預言者」について簡単にご紹介できればと思います。
名前の通り、AIを使った競馬の予測をメインに発信するサイトです。
発信内容は「コラム」と「競馬予測」
「競馬の預言者」の主な発信内容は、「コラム」と「競馬予測」です。
発信内容
- コラム:競馬データの分析記事や予測の結果とまとめたりする
- 競馬予測:AIモデルを使って競馬の予測と結果を発表する
コラム
コラム記事は、完全にマニュアルで執筆する記事です。
競馬データの分析結果や予測の結果をまとめたりします。
AIモデルを開発するためには、データを分析していろいろな知見を蓄えていく必要があります。
この分析の中で発見した内容は、コラム記事で備忘録を兼ねて残しておきます。
また、予測結果のまとめや回収率の計算、モデルごとのパフォーマンス比較などについても発信していきます。
競馬予測
競馬予測記事はプログラムによって完全に自動化されています。
データの収集からAIモデルの作成と予測、記事の作成から結果の反映まで全てプログラムが自動で行います。
サイト運営をなるべく楽にするために、記事が自動で作成される仕組みづくりは必須でした。
基本的には全自動で競馬予測記事を更新しつつ、必要に応じてAIモデルの改善や開発をしたりコラム記事を書いていくスタンスになります。
レース前に予測結果を発表して、レース後に結果と照らし合わせて当選した馬券を発表していきます。
記事が作成・更新されたらTwitterで自動ツイートします。
アカウントはこちらです。
AIモデルは開発を改善を繰り返す
「競馬の預言者」で利用するAIモデルについては、開発と改善を繰り返していきます。
稼働中のAIモデルも継続して改善
稼働中のモデルについても、一度開発したらそのまま放置ということはしません。
定期的に予測結果を集計して、改善すべきポイントを探しつつ、必要とあらば改善ポイントを適用していきます。
同じモデルでもバージョン2、3といったように進化させていきます。
複数のAIモデルを稼働して比較検証
また、複数のAIモデルを開発して、パフォーマンスの比較も行っていきます。
いろいろなAIモデルを稼働しておけば、AIモデルごとの癖みたいなのがわかって、レースごとにどのAIモデルが一番信用できるかを算出することができるようになると思っています。
稼働している中で、AIモデルの精度がどんどん向上していくように努めます。
「競馬の預言者」開設までの道のり
「競馬の預言者」のご紹介についてはこれくらいにして、次にサイトを開設するまでの道のりについてご紹介します。
サイト開発に至った理由
サイトを開発しようと思った理由は、基本的には自己満足のためですが、これまで学んできたことをアウトプットする場所を作るためという理由が一番大きいです。
独学でPythonやAIについてを学んだ
これまで、独学でPythonやAIについて学んできました。
過去記事で何度も触れていますが、Pythonは社会人になってから独学で習得しました。
転職にも成功しました。
参考記事:【実体験】ゼロからのPython独学を決意してから転職を掴み取るまでのお話。
Pythonを学んだ後はAIについても学んだりしていました。
基本的にはUdemyで学びました。
参考記事: プログラミングの独学にUdemyをおすすめする理由!【僕はPythonを独学しました】
学んできたことをアウトプットする場所が欲しかった
独学でPythonやAIについて学んでも、アウトプットできる場所がありませんでした。
これが、サイト開発に至った1番の理由です。
これまで学んできた学んできたことをアウトプットする場所を自分で作りました。
サイト開発にはかなりの時間を要しました。
思いついてから形になるまで、半年はかかったと思います。
競馬予測AIモデルの開発
次にAIモデルについてみていきます。
AIモデルは全てPythonで開発しています。
AIモデル開発に必要なプロセス
AIモデルを開発するためには色々なプロセスが必要です。
僕の場合はざっくりとこんな流れです。
AIモデル開発のプロセス
- データ収集
- データ整形
- 分析・可視化
- AIモデルの適用
- AIモデルの検証
- 満足の結果が出れば実装
まずはデータの収集です。
収集したデータを整形して分析していきます。
結果に相関が強いデータを探したり、レースごとの特徴とかを探していきます。
AIモデルに役立ちそうな知見を集めることが目的です。
分析が終わればAIモデルを実装して検証します。
AIモデルはいろいろあるので、トライアンドエラーを試しながら精度を上げていく作業になります。
インプットの中身を変えたり、カラムを追加したり、次元圧縮をしたり、いろいろ試します。
検証の結果、満足のいくものができれば完成です。
あとは実装するのみです。
データの収集やAIモデルの開発などは全てPython
データの収集や分析、記事の作成やAIモデルの開発は全てPythonで行っています。
これらの役割を全て1つの言語でできてしまうというのは大きなメリットと言えます。
Pythonはデータ分析やAI関連に特に強く、さらにサイト開発にまで使えたりと幅広い用途に対応できるプログラミング言語です。
最近はAIブームで需要が拡大しています。
-
【人気上昇中】今人気のプログラミング言語「Python」は何ができるのか?できることまとめます【転職でも有利です】
続きを見る
サイトの開発
次にサイトについてみていきます。
ベースはPythonのDjango
サイトはDjangoというPythonのWebフレームワークを使いました。
Djangoは日本ではそこまで聞きませんが、世界的に有名なサイトでも利用されているほど人気のあるWebフレームワークです。
たとえば、YouTubeやInstagramなどはDjangoで開発されています。
データの収集や分析などにもPythonを使っているので、サイト開発でもPythonベースであるDjangoを利用すると、全てPythonで管理できるので便利です。
Pythonは、1つの言語でデータの収集、分析、AIモデルの開発、サイト開発、全てに対応できる万能プログラミング言語です。
サイトのデザインにはUIkitを利用
また、サイトのデザインについてはUikitを活用しました。
Uikitを使うと、CSSをゼロから書く必要がなく、おしゃれなサイトを簡単に作成できます。
日本ではあまり有名ではないかもしれませんが、Bootstrapのようなものだと思っていただければ問題ありません。
過去に開発した「投資でニート生活」についても、Djangoでサイトを開発しつつ、Uikitでサイトをデザインしています。
利用経験があったので、「競馬の預言者」の開発はわりとスムーズに進みました。
今後も進化を続けていきます
ここまでで、「競馬の預言者」の開発への道のりについてご紹介してきましたが、これはまだスタート地点に立ったばかりです。
ここからさらに、AIモデルの開発や改善を繰り返しながら、より精度の高いAIモデルの開発にコミットしていきます。
とりあえず、「競馬の預言者」の開設で、データ分析やAIモデルの開発を行うための場所が出来上がった感じです。
本番はここからですね。
大儲けできるように頑張りますw
まとめ
本記事では、「Pythonで競馬予測AIを開発して専用サイトまで自作したお話。」というテーマで、僕が趣味で新たに開発したサイトである「競馬の預言者」についてご紹介しました。
ようやくこれで本格的にAIモデルの開発ができる環境が整ったので、ここからはどんどんAIモデルの開発と改善を繰り返していきます。
より良いAIモデルを開発して大儲けできるように頑張りますw
Pythonを使えば、ここで紹介したようなデータの収集や分析・可視化、AIモデルの実装、サイト開発など様々なことができます。
僕自身、Pythonは社会人になってから独学で習得しました。
今では転職にも成功して、仕事でもバリバリPythonを使うようになりましたし、仕事以外でも「競馬の預言者」とか「投資でニート生活」のようなサイトも趣味で開発しています。
自分が思いついたことを形にできるのはとても嬉しいことです。
もし、本記事を通じてPythonとかAIなどに興味があれば是非ともやってみてください。
僕自身、社会人になってから独学で習得することができたので、いつから始めても遅すぎるということは決してないと思います!
ここまで読んでくださり、ありがとうございました。