見出し画像

機械学習歴3ヶ月の素人がAIで競艇を攻略する (5)【予測する(LightGBM)】

❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎

このnoteは、プログラミング初心者から機械学習勉強中の方
競艇で不労所得を目指したい方に向けて、
「競艇で機械学習をお試しする」ハードルを下げまくるためのnoteです。

❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎ ❇︎

このnoteは機械学習歴3ヶ月の素人がAIで競艇を攻略する (4)のつづきとなっています。
未読の方は先に読んでいただくと流れがわかりやすいかもしれません。

1. 今回やること

※ 今回は機械学習の基礎的内容ですので、初心者の方以外は今回は読み飛ばしていただいても良いかもしれません

 前回は筆者が学習モデルで使用している、選手とモーターの数値を算出しました。
今回からは、他の特徴量の作成をしていきます。

と思っていたのですが、一旦特徴量作成からは離れて、実際に予測する部分をやっていこうと思います。

理由としては大きく以下の2点です。

a. 先にゴールを見ることでモチベーションを維持しやすくする
b. あとは読者の方々が自分で特徴量を上手くつくることで、それぞれがエッジのあるモデルにできるようにする

a に関して、まず「今どのくらい予測できているのか」を知ることで、これからどうやって現状から改善していこう、というモチベーションを維持できると思っています。

b に関して、筆者は特徴量紹介編で紹介した特徴量を、直近Nレースや競技場ごと、斡旋ごと等で平均を取るなどの加工をし、モデルに導入しています。
これを全て紹介しても良いのですが、競艇の特性上、同じような予想をする人が増えると期待値は減少していきます。

そのため、ある程度までモデルの作り方を紹介できれば、あとは各々がモデルのブラッシュアップする方が良いかと思っています。

もちろん、初心者の方に向けて、のちのち色々な特徴量の作り方は紹介していく予定ですので、その際はぜひご覧ください。

なお、今回もスクレイピング編で使用したデータを使用しますので、まだご用意のない方はそちらからダウンロードをどうぞ!


2. モデルの復習

まず、学習に使用したいデータフレームをおさらいすると、
以下のような構造になっています。

画像1

着順が目的変数、それ以外が説明変数 (特徴量) と言うのでした。

今回は簡単のため、説明変数を

艇番
選手のレート
モーターのレート

の3点だけとします。


では、これを目指してデーターフレームを加工していきましょう!


3. 予測する準備

まず、results_detail.csvを読み込んでおきます。

results_detail = pd.read_csv("../xxx/yyy/results_detail.csv")

ここから先は

4,544字 / 3画像

¥ 300

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