第2段階:解像度を上げた「Kaggleの全体像」

前のページで「ざっくり」はつかめました。ここからは 解像度を上げます。このページを読み終えると、Kaggleのサイト内で見かけるほとんどの言葉の意味がわかるようになります。長いので、わからない部分は飛ばして構いません。後のページで何度も出てきます。


1. Kaggleという会社・サービスの基礎情報

  • 2010年にスタートしたデータサイエンス・コンペのプラットフォーム。
  • 2017年にGoogleが買収 し、現在はGoogle傘下のサービス。
  • 登録ユーザーは 全世界で1,000万人以上。日本人ユーザーも非常に多い。
  • 利用は完全無料。計算資源(GPUを含む)まで無料で提供される。
  • 公式サイト: https://www.kaggle.com/

Kaggleが単なるコンペサイトではなく「データサイエンスのSNS兼GitHub兼学習サイト」になっている、という点が重要です。

2. サイトの6つの柱

左側のメニュー(サイドバー)に並んでいる項目が、そのままKaggleの機能一覧です。

メニュー読み中身
Competitionsコンペティションズ予測精度を競う大会。本丸
Datasetsデータセッツ誰でも公開・利用できるデータの倉庫
Modelsモデルズ学習済みAIモデルの置き場(画像・言語モデルなど)
CodeコードNotebook(分析プログラム)の公開・実行環境
Discussionsディスカッションズ掲示板・フォーラム
Learnラーン無料のミニ講座(数時間で1コース)

2-1. Competitions(コンペ)

大会の一覧です。開催中・終了済みを含め常時数十件が動いています。終了したコンペにも Late Submission(遅れて提出) でき、順位表には載らないもののスコアは計算されます。練習には終了済みコンペが最適です。

2-2. Datasets(データセット)

CSV・画像・音声など、ユーザーや企業が公開したデータが40万件以上あります。コンペと無関係に「このデータで遊びたい」という使い方ができます。自分でデータをアップロードして公開することもでき、そこにも メダル があります(後述)。

2-3. Code / Notebooks(ノートブック)

Kaggle最大の学習資源。ブラウザ上で動くプログラム実行環境であり、同時に他人のコードの公開場所です。

  • 他人のNotebookを "Copy & Edit" すると、自分の手元にコピーされ、すぐ実行・改造できます。
  • 上位解法のコードがそのまま公開されていることも多く、写経 → 改造 → 理解 が最短ルートです。

2-4. Discussions(掲示板)

コンペごとに掲示板があり、「前処理のこのバグに注意」「このアイデアでCVが0.003改善した」といった情報が飛び交います。終了後に上位陣が解法(solution)を投稿する文化 があり、これが宝の山です。

2-5. Learn(無料講座)

Python、Pandas、機械学習入門、特徴量エンジニアリング、ディープラーニングなどの短い講座。英語ですが、コードが中心なので翻訳と併用すれば十分読めます。https://www.kaggle.com/learn

2-6. Models

事前学習済みモデルの配布所。画像認識やLLMなどを、Notebookから数行で呼び出せます。入門段階では使いません。


3. コンペの「種類」を知る(ここ重要)

すべてのコンペが同じ性質ではありません。入門者が間違えてガチ勢だらけのコンペに飛び込むのがよくある事故です。

種類日本語賞金メダル難易度入門者向け?
Getting Started入門用・常設なしなし★◎ まずここ
Playground練習用小さい景品等なし(原則)★★◎ 次はここ
Featured本番・企業主催あり(高額)あり★★★★★△ 慣れてから
Research研究目的少額/なしあり★★★★△
Communityユーザー主催なしなし★〜○
Analytics分析レポート提出型あり場合による★★★△
SimulationsAI同士の対戦型ありあり★★★★△

代表的なGetting Startedコンペ(常設・永久に参加可能)

  • Titanic - Machine Learning from Disaster:タイタニック号の乗客データから生死を予測。全人類の最初の一歩。
  • House Prices:住宅の価格を予測(回帰問題の入門)。
  • Digit Recognizer:手書き数字の画像認識(画像の入門)。
  • Spaceship Titanic:タイタニックの宇宙版。少しだけ現代的。

Playground Series

毎月開催される練習用コンペ。実データに似せた人工データが使われ、1ヶ月で完結します。参加者も多く、公開Notebookも豊富なので Titanicの次 に最適です。

4. コンペの中身:何が与えられ、何を出すのか

コンペページには必ず次のタブがあります。

タブ内容
Overview課題の説明・評価指標・賞金・スケジュール
Data配布データの説明とダウンロード
Codeそのコンペ用に公開されたNotebook一覧
Discussion掲示板
Leaderboard順位表
Rulesルール(必ず一度は目を通す)
Submissions自分の提出履歴

配布される典型的なファイルは3つです。

  • train.csv … 学習用データ。正解(目的変数)の列がある。
  • test.csv … テストデータ。正解の列がない。これを予測する。
  • sample_submission.csv … 提出ファイルの見本。この形式に合わせて作る。

5. 評価指標(スコアの付け方)

「どれだけ当たっていれば良いか」の物差しを 評価指標(metric) と呼びます。コンペごとに決まっていて、Overviewページに書いてあります。

指標読み使う場面値の向き
Accuracy正解率分類高いほど良い
AUC (ROC-AUC)エーユーシー2値分類高いほど良い(0.5が当てずっぽう、1.0が完璧)
LogLossログロス確率を当てる分類低いほど良い
RMSE二乗平均平方根誤差回帰(数値予測)低いほど良い
RMSLE対数版RMSE価格や売上など、桁が大きく動く回帰低いほど良い
F1 / MAP@k など—不均衡データ・推薦高いほど良い

「高いほど良い指標」と「低いほど良い指標」がある ことに注意してください。スコアが小さくなって喜ぶコンペもあります。

6. リーダーボード:Public と Private の二重構造

Kaggleで最も独特で、最も重要な仕組みです。

テストデータは、実は内部で 2つに分割 されています。

test.csv (例:10,000件)
   ├─ 約30%  → Public Leaderboard の採点に使用(コンペ中ずっと見える)
   └─ 約70%  → Private Leaderboard の採点に使用(終了まで誰も見られない)
  • Public LB(パブリック):提出するとすぐスコアが出る。常に見える順位表。
  • Private LB(プライベート):コンペ終了の瞬間に初めて公開される、本当の順位表。賞金・メダルはこちらで決まる。

なぜこんな仕組みなのか

Public LBだけだと、そのスコアに合わせてチューニングし過ぎた人(=Public LBに過学習した人)が勝ってしまい、「本当に未知のデータに強いモデル」を選べないからです。

shake(シェイク)

終了時にPublicとPrivateが入れ替わり、順位が大きく動く現象を shake up / shake down と呼びます。

  • shake up:Publicでは下位だったのにPrivateで急浮上すること。
  • shake down:Publicでは上位だったのにPrivateで転落すること。

100位 → 2000位の転落もザラです。Kaggleで最も悲喜こもごもな瞬間であり、エンタメ要素でもあります。

教訓:「Trust your CV」

だからKaggleでは 「Public LBの数字を信じすぎるな、自分の手元の検証(CV)を信じろ」 という格言があります。CVについては分析の流れで説明します。

7. 提出まわりのルール

項目一般的なルール
1日の提出回数5回まで(コンペにより異なる)
最終提出の選択自分の提出の中から 2つ を選んで最終提出とする
チーム人数最大5人程度(コンペによる)
アカウント1人1アカウント厳守(複数アカウントは永久BAN対象)
プライベート共有チーム外とのコード共有は禁止(公開するなら全員に公開)

最終提出を選び忘れると、Public LBで最高スコアだった2つ が自動で選ばれます。shakeを恐れるなら「Public最高のもの」と「CVが最高のもの」を1つずつ選ぶのが定石です。

Code Competition(コード提出形式)

近年増えている形式。CSVではなく Notebookそのものを提出 し、Kaggle側のサーバーで実行されて予測が作られます。

  • 実行時間に上限(例:9時間)がある
  • インターネット接続オフで動かす必要がある
  • テストデータが隠されており、不正ができない

入門段階では意識しなくて構いませんが、「なぜかCSVが提出できない」と思ったらこの形式かもしれません。

8. メダルと称号(Progression System)

Kaggleの「ランク戦」部分です。モチベーション維持に効きます。

メダルの基準(コンペの場合)

参加チーム数によって、メダルのラインが変わります。

参加チーム数銅メダル銀メダル金メダル
0〜99上位40%上位20%上位10%
100〜249上位40%上位20%上位10位
250〜999上位100位上位50位上位10位
1000以上上位10%上位5%上位10位+0.2%

大規模コンペの金メダルは「世界で10数人」という世界です。最初は 銅メダル(上位10%)でも大快挙 だと思ってください。

メダルは Notebooks(人気Notebookへのupvote数)、Datasets(公開データへのupvote数)、Discussions(投稿へのupvote数) でも獲得できます。コンペが苦手でも称号を上げる道があります。

称号(Tier)

下から順に5段階です。4つのカテゴリ(Competitions / Notebooks / Datasets / Discussion)ごとに別々に付きます。

称号日本語の感覚コンペ部門の条件(目安)
Novice新規登録者登録しただけ
Contributor貢献者プロフィール記入・電話番号認証・Notebook実行1回・提出1回・コメント1回・upvote1回
Expert熟練者銅メダル2個
Master達人金1個 + 銀2個
Grandmaster超達人金5個(うち1つはソロ金)

まずは Contributor を目指しましょう。 上の条件を見ればわかる通り、これは実力ではなく「一通り触ったか」のチェックリストです。1日で達成できます。電話番号認証をするとGPUやインターネット接続が使えるようになるので、実利もあります。

公式の説明: https://www.kaggle.com/progression

9. 無料で使える計算資源(ここが強い)

Kaggle Notebookは、あなたのPCではなく Googleのサーバー で動きます。おおよそ次のスペックが無料です。

資源目安
CPU4コア / メモリ 約30GB
GPUNVIDIA製GPU(T4×2 など)を 週30時間程度
TPU週20時間程度
連続実行時間12時間(GPU利用時は9時間)
ディスク数十GB

数万円〜数十万円のPCを買わなくても、ブラウザだけで本格的な機械学習ができます。これがKaggleを勧める最大の実利です。

10. 1つのコンペの時間的な流れ

開始
 │
 ├─ 数日目: 公開Notebook(ベースライン)が出回る。まずこれを動かす
 │
 ├─ 中盤:  特徴量を考える/モデルを変える/検証方法を整える
 │          Discussionで知見が共有され、全体のスコアが底上げされる
 │
 ├─ 終了1週間前: チーム合流の締切(Team Merger Deadline)
 │
 ├─ 終了24時間前: 最終提出を2つ選ぶ
 │
 └─ 終了 → Private LB公開 → shake発生 → 上位陣が解法を投稿
                                            ↑ ここを読むのが一番勉強になる

11. 日本語で戦える環境

Kaggleのサイト自体は英語ですが、周辺の日本語環境は非常に厚いです。

  • 日本語の解説記事:Qiita・Zenn・noteに大量にあります。
  • 書籍:『Kaggleで勝つデータ分析の技術』『PythonではじめるKaggleスタートブック』など日本語の定番書があります。
  • コミュニティ:日本のKagglerが集まるSlack(kaggler-ja)やX(旧Twitter)のコミュニティがあります。
  • 日本語のコンペサイト:SIGNATE、Nishika、ProbSpace、atmaCup など、問題文が日本語のコンペサイトもあります。Kaggleと並行して使えます。

詳しくは参考リンク集にまとめています。


第2段階のまとめ

  • Kaggleは コンペ・データ・コード・掲示板・講座・モデル の6つの柱からなる。
  • コンペには Getting Started / Playground / Featured などの種類があり、入門者は前2つ。
  • 順位表は Public(仮) と Private(本番) の二重構造。終了時に shake が起きる。
  • メダルと称号があり、まずは Contributor が現実的な最初の目標。
  • 計算資源は 無料でGPUまで 使える。PCの性能は不問。

次のページから、いよいよ実際に手を動かします。