はじめに
私事ですが、2026年に開催されたKaggleのコンペ「March Machine Learning Mania 2026」に初参戦し、激戦の末に銅メダルを獲得することができました!
このコンペは、アメリカの大学バスケットボール・トーナメント(NCAA)の結果を予測するもので、独特の難しさがあります。
タスク: 2チーム間の対戦結果(勝敗確率)を予測
評価指標: Brier Score(予測確率と実際の結果の乖離を測る指標)
難所: 過去データは豊富ですが、当年のトーナメントは「一発勝負」です。
勝負ゆえの波乱をどう織り込むかが鍵になりました。
正直どのチームも全く知らないという状態からのスタートでしたが、生成AIを活用し、泥臭く試行錯誤を繰り返した結果、なんとかメダル圏内に滑り込むことができました。
本記事では、初心者がAIと共にどう立ち回り、メダルまでたどり着いたかの戦略を備忘として共有します。ちょっと自分のためでもあります。
第1章. AIに忘却させない 〜拠点づくり〜
コンペ開始直後、メモアプリであるobsidianを使い、「参照用プロジェクト専用フォルダ」を作成しました。振り返ると、当たり前すぎるこの対応が最大の勝因だったかもしれません。
プロジェクトに読み込ませたもの
コンペのOverview: 評価指標(Brier Score)や提出ルール。
データの定義: MRegularSeasonDetailedResults.csv などの主要なカラム説明。
過去の優勝モデルの傾向: Discussionから拾った「シード値の重要性」や「効率性指標(Efficiency Ratings)」の重要性。
これにより、「今年のトーナメントで、昨日の試合結果を反映させるにはどうリライトすればいい?」と聞くだけで、文脈をいちいち検索させなくても理解した的確なコードがある程度返ってくるようになりました。使用トークンを考えても正解だったと思います。
第2章. 公開ノートブックの徹底分解
Kaggleには「Code」タブに優秀な先人たちのノートブック(Public Notebook)が並んでいます。初心者はまずこれを動かすところから始めますが、ただコピーするだけでは勿論勝てません。
私は以下のステップを徹底しました。
セル単位の理解: AIにコードを貼り付け、特徴量エンジニアリングの意味を腹落ちするまで徹底的に解説させました。わかりやすく説明させるために事務員のペルソナを新たに作る意味があったくらいに、徹底的にやったと思います。
ここは時間がなくても言い訳しなかったポイントです。
差分(Diff)の検証: スコアが 0.001 違う2つのノートブックがあれば、何が違うのか(パラメータか、特徴量の組み合わせか)を特定し、その理由をAIと考察しました。
正直ここはトライアンドエラーをAIにやらせて私はサボりました。特徴量がある程度分かっていれば、何が効いたかは何となく見当がつきます。
第3章. スコアアップの鍵:アンサンブル戦略
最終的にメダル圏内に入れたのは、異なる性質を持つモデルを組み合わせるアンサンブル学習のおかげでした。
実際のスコア向上の履歴
ベース: XGBoost単体(シード値と勝率のみ)では凡庸なスコア
特徴量追加: チームの「攻撃効率(Offensive Efficiency)」と「守備効率」をAIのアドバイスで追加したら微増
モデル多様化: LightGBMとCatBoostを追加し、XGBoostと平均化するとじわじわ上昇
多様性の確保: 統計モデル(Ordinal Logistic Regression)を混ぜると一気に伸びました。
ここは個々のモデルの特徴やメリットを理解しきっていないものの、とにかく試す戦略が功を奏したと感じますね。
似たような勾配ブースティング系ばかりを混ぜるより、少し古風な統計モデルや、異なる視点の特徴量を持つモデルを混ぜることで、今回に関しては予測の安定感が増しました。
第4章. 今後の課題
Submissionを多く行い試行錯誤しながら、スコアを上下させていくのが通常珍しくないのですが、今回に関しては10回もsubmitしていません。
スコア管理もAIに任せ、トップとの差はあまり私自身は考えませんでした。
(その分本業に専念できたので悪くはない)
とはいえ、さらに上を目指すには、時間をはじめとしたもっと多くのリソースを投じる必要があると感じました。
金メダルは今の自分だと流石にtoughかなぁというのが正直なところです。銀メダルは運がよくて上振れたら、という感じ。
投じたリソースを勘案すると、効率よく銅メダルを取れたと思います。
おわりに
何が効いて、何を試して、何を棄却したかを記録しておいたことで、AIの忘却を防ぎ、同じ場所を彷徨うことなくうまく進めたと思います。
初心者がメダルを取るために必要なのは、高度な数学力以上に、AIを使いこなす力と泥臭い試行錯誤が大切かなと実感しました。勿論数学の素養があることで、有利に働いたり、一般人で得られない交絡要因を解釈できることも多分にあると思います。
本業のエンジニアの方に遠く及ばなくても、できることは沢山あるので、一緒に泥臭く試行錯誤していきましょう!




