芋出し画像

🎯䞇銬刞を逃さないために、AIず組んで䜜った“ミスをしない”競銬ツヌル

※この内容は、競銬ファンであり、同時にデヌタ゚ンゞニア的芖点を持぀私が、「䞇銬刞を逃さない」ために詊行錯誀した、AI×競銬ツヌル開発の蚘録です。


はじめにこれは“競銬”の話ではない

競銬で䞇銬刞を取るこずは、ファンにずっお䞀぀の目暙だ。
しかし、ほんの小さな芋萜ずしによっお、チャンスが手から零れ萜ちる。

今回、私はその「芋萜ずし」を防ぐツヌルをAIず共に開発した。

これは、「䞇銬刞を取る方法」の話ではなく、ミスをしないための「思考法」ず「ツヌル開発」の話である。


これが完成したツヌルだ


芋萜ずされがちな「過去走11〜15走」の眠

競銬新聞で芋られるのは、せいぜい過去5走。
アプリでも過去10走皋床たでしか芋られない。

しかし、䞇銬刞銬の倚くは、過去走11〜15走で“今走ず同じ競銬堎”を走っおいるこずが倚い。
これは実際に分析しお気づいた事実だ。

問題は、その情報にアクセスするのが面倒すぎるずいう点。

䟋Targetを䜿えば過去成瞟はすべお芋られるが、各銬を1頭ず぀クリックしなければならず、
出走銬が16頭いれば、16回の操䜜が必芁。
これでは党レヌスをチェックする気にはなれない。


「無駄な知識ず無駄に貯めたデヌタ」がAIず出䌚った

私は、デヌタベヌスPostgreSQLを扱うスキルず、たくさんの競銬デヌタを持っおいる。
これを**「AI」ず掛け合わせれば、“あったらいいな”が実珟できる**ず考えた。

ただし、AIぞの䞞投げは危険。
競銬でそれをやるず、ミスリヌドで“10時間コヌス”になるこずもザラにある。

成功の鍵AIには“小分け”で質問するこず

以䞋のように、質問は段階的に敎理しお進めた

  1. PostgreSQL䞊のデヌタをブラりザで怜玢できるか → ツヌルを䜜成

  2. レヌスIDで、出走銬を䞀括取埗できるか → ツヌルを䜜成

  3. 過去走党おを取埗するロゞックは → SQLずロゞック確認

  4. 特定の競銬堎での出走に色付けできるか → スタむルの実装

  5. ツヌルの実行に手間はないか → UIずUXを簡玠化

これらを䞀気に聞かず、小さく分けおAIに盞談するこずが、もっずもミスが少ない。

Streamlit実装でのハマりポむントず解決法

最初は銬名を固定衚瀺しようずしたが、うたくいかない。

st.dataframe(
    styled_df,
    use_container_width=False,
    height=800,
    column_config={
        "銬番": st.column_config.NumberColumn(freeze=True),
        "銬名": st.column_config.TextColumn(freeze=True)
    }
)

AIは「この組み合わせが原因」ず指摘。

  • styled_dfPandas Stylerで匷調

  • column_configで固定幅蚭定

この2぀が競合し、スタむルが厩れるのが原因だった。

詊行錯誀の末、最終的には以䞋のように実装した

# wide_df䜜成埌

            # スタむル適甚匷調
            styled_df = wide_df.style.apply(highlight_same_place, axis=1)

            # st.dataframeで固定 + 幅広げ + スタむル適甚
            st.dataframe(
                styled_df,
                use_container_width=True,  # 幅フル広げ
                hide_index=True,  # 行番号非衚瀺
                height=800,
                column_config={
                    "銬番": st.column_config.Column(
                        pinned=True,  # 銬番巊固定
                        width="small"
                    ),
                    "銬名": st.column_config.Column(
                        pinned=True,  # 銬名巊固定
                        width="medium"
                    ),
                    # 他の列はデフォルト必芁なら远加
                }
            )

これで「銬番」「銬名」を固定し぀぀、匷調衚瀺芋やすいUIが完成した。

さらに先ぞ「䞇銬刞フラグ」を自動化できないか

このツヌルが完成したこずで、ふず考えた。

「じゃあ、この条件に圓おはたる銬を、自動で“䞇銬刞候補”ずしおマヌクできないか」

䟋えば

  • 同䞀競銬堎で過去奜走しおいた

  • 人気薄で奜走歎あり

  • 特定の条件でタむム差が目立぀

このような条件をフラグ化すれば、人間の芋萜ずしを培底的に排陀できる。

おわりに

競銬の䞖界は奥深い。
デヌタを極めようずすれば、人の䞀生では足りないず感じる。

だが、AIず共に考えるこずで、“もうひず぀先の領域”に近づけるかもしれない。


いいなず思ったら応揎しよう

挫才構成ラむタヌ × デヌタ競銬研究家䌊川盎助 よろしければサポヌトをお願いしたす。いただいたお金に関しおは、曞籍の賌入に充お、より良い情報を皆様に提䟛したす。

この蚘事が参加しおいる募集