Kaggleコンペ「顧客解約予測」の振り返り:データ分析と特徴量エンジニアリングの過程
本記事は、2026年3月に開催されたKaggle Playgroundの「Predict Customer Churn(顧客解約予測)」コンペティションへの参加経験を詳細に振り返った記録である。筆者は、データ分析のプロセス全体(初期EDA、ベースライン構築、スコア改善)を網羅的に記述している。
【分析プロセス】
まず、初期EDAとして、評価基準がAUC(Area Under the Curve)であり、目的変数は「Churn(退会)」の確率予測であることを確認した。データセットは訓練データ(594194行、21列)とテストデータ(254655行、20列)から構成され、欠損値はないものの、データ型変換の必要性を認識した。ベースライン構築では、LightGBM(LGBM)を採用し、全ての特徴量(カテゴリ変数はダミー変数化)を用いて予測を行い、OOF AUC 0.91611を達成した。
【スコア改善の試行】
その後、スコア改善のため、ノイズデータ除去(Partner、gender、PhoneServiceの削除)や、3種類のSeed値を用いたアンサンブル(AUC 0.91644)を実施した。特に、False Negative(偽陰性)に着目したEDAの結果、長期ユーザー(tenure 20以上、TotalCharges 2000以上)の解約パターンが、現在のモデルで捉えきれていないという仮説を立てた。この仮説に基づき、ChatGPTの支援を受け、「TotalCharges / (tenure + 1)」などの特徴量エンジニアリングを試行し、AUCを0.91624に改善させた。最終的には、特徴量削除、特徴量追加、Seedアンサンブルを組み合わせ、PrivateScore 0.91521を達成した。
【課題と学び】
今回の経験から、自身の課題として「復習に時間をかけすぎる」「理解しすぎようとして進捗を遅らせる」「工程の順序を誤る」点を挙げている。また、技術的な学びとして、`pd.get_dummies()`によるカテゴリ変数処理や、多重共線性、そして「データから得た洞察と提案の間に多くの仮説・検証が必要」という分析的な視点を深く学んだ。
背景
本記事は、機械学習のコンペティション(Kaggle)という実戦的なデータサイエンスの場での学びを記録したものです。データ分析のプロセス(EDA、特徴量エンジニアリング、モデル改善)を体系的に振り返ることで、読者に対して具体的な手法と思考プロセスを共有しています。
重要用語解説
- AUC: Area Under the Curveの略。分類モデルの性能を測る指標の一つで、値が高いほど予測精度が高いことを示します。本コンペでは、この値の最大化が目標でした。
- LightGBM (LGBM): Gradient Boosting Decision Treeの一種。勾配ブースティングを採用した決定木ベースの機械学習アルゴリズムで、高い予測精度と計算効率を両立できるため、コンペティションで広く利用されます。
- 特徴量エンジニアリング: データ分析において、既存の生データから、モデルの予測精度向上に役立つ新しい特徴量(変数)を人工的に作成するプロセスを指します。本記事の核となる技術です。
今後の影響
本記事は、データサイエンス学習者にとって非常に価値の高い「思考プロセス」の共有例です。単なる結果報告ではなく、仮説構築→検証→改善という科学的なアプローチを具体的に示しており、今後のデータ分析や機械学習の実践的な指針となります。特に、課題点の明確化が今後の学習計画に役立ちます。