見出し画像

機械学習歴3ヶ月の素人がAIで競艇を攻略する (4)【特徴量作成その2 (レート算出)】

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

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

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

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

1. 今回やること

前回は筆者が作成した学習モデルで使用している特徴量の概要を紹介しました。
今回からは実際のコードを追いながら特徴量の作成をしていきます。

過去データの取得が済んでいない方は前の記事からダウンロードしてくださいね!

今回は特に、選手とモーターの強さをレーティングで数値化していきます。

競艇AIをつくる人みんなが同じ作り方をしてしまうと回収率の低下につながりかねないので、本記事は有料にしています。
( ※ 2021.08.26追記: 同じ理由で、購入数の増加に応じて価格を上げることがあります。)



2. 選手のレートを算出する

前の記事で軽くコンセプトを説明していますが、レートの算出にはTrueSkillを使います。
以下で紹介するコードがわかりにくい際はこちらの記事などをご参照ください。

最終的には、以下のような、ある選手のレース開始直前でのレートが全レースに対して参照できるようなデータフレームを作ることを目指します。

スクリーンショット 2021-08-16 13.10.26


まず、スクレイピングしたデータから、レート算出に必要なデータフレームを作成します。
前記事で保存した[results_detail.csv] を使います。

まずはCSVファイルを読み込みます。

# results_detail.csvのあるpathを指定
PATH = "../xxxx/yyy/results_detail.csv"
results_detail = pd.read_csv(PATH)

# 先頭に要らない列が入っているので消しておきます。
results_detail.drop("Unnamed: 0", axis=1, inplace=True)

ここから先は

18,999字 / 2画像

¥ 1,500

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