Kaggle Tutorial

提出フロー完全理解とデバッグ

submission の作り方を総まとめし、形式エラーの典型と対処法を身につけます。

提出フローの全体像#

sample_submission.csv の形式を確認

予測を sample と同じ列・行数で作る

submission.csv を書き出す(index=False)

Submit Predictions でアップロード

Public LB のスコアを確認 → 改善ループ

sample_submission.csv を正とするのが最重要です。列名・行数・ID の順序をこれに合わせます。

sample = pd.read_csv("/kaggle/input/titanic/gender_submission.csv")
sample.columns       # 期待される列名
sample.shape         # 期待される行数

よくある形式エラーと対処#

症状原因対処
列が違う / 余分な列index=False 忘れ・列名ミスto_csv(..., index=False)、列名を sample に合わせる
行数が合わないtest の一部を落とした・欠損で行が消えたtest 全行に予測を出す。欠損補完で行を保つ
ID がずれている並べ替え・shuffle した予測は test の順序のまま ID と対応させる
値が NaN予測や逆変換で欠損が発生NaN を埋める。expm1 等の逆変換忘れに注意
スコアが異常に低い目的変数の逆変換忘れ・指標違い対数変換は expm1 で戻す。指標を再確認

注意

提出前に submission.isnull().sum()(NaN チェック)と submission.shape(行数チェック)、 submission.head()(列名・値の確認)を必ず実行する習慣をつけましょう。多くのエラーはここで防げます。

提出前チェックリスト#

assert list(submission.columns) == list(sample.columns)   # 列名一致
assert len(submission) == len(sample)                     # 行数一致
assert submission.isnull().sum().sum() == 0               # NaN なし

この 3 行を最後に走らせるだけで、形式エラーの大半を未然に防げます。

理解度チェック#

Quiz提出ファイルの形式を合わせるとき、何を「正」とすべき?

このトラックのまとめ#

  • 入門コンペは「まず提出 → CV を信じて小さく改善」のループで進める
  • Titanic(分類):性別・クラスを軸に特徴量を足し、Stratified K-Fold で改善
  • House Prices(回帰):歪んだ目的変数は対数変換し、expm1 で戻して提出
  • submission は sample_submission を正とし、列・行・NaN を提出前にチェック

関連コンペページ:Titanic 解説House Prices 解説

次のステップ#

次トラック(L4)では、特徴量エンジニアリングと検証戦略を深掘りし、 ベースラインからさらにスコアを伸ばす技術を学びます。