世界最大の分析コンペティションサイトKaggleでは、機械学習およびKaggleのチュートリアルとして「Titanic: Machine Learning from Disaster」が用意されています。
このチュートリアルでは映画でも有名なタイタニック号の沈没事故を題材に
乗客の情報(性別、年齢、客室のグレードなど)から生存者を予測すること
が目標です。
生存者を予測するには
- 欠損値などのデータハンドリング
- 地道なデータ理解と特徴量生成
- 過学習に陥らないようにモデル構築
をきちんと行う必要があり機械学習のポイントを学べる内容になっています。また、効率よく精度の良いモデルを構築するには
- データ分析ライブラリ(Pandas, scikit-learnなど)の活用
- 機械学習アルゴリズムの体系的な理解と適用
- データ、分析コード、乱数の管理
が必要でチュートリアルとはいえ研究や業務で機械学習を使う人にとっても良い訓練になると思います。
ここではチュートリアルを通じて、ただ高精度なモデルを構築することだけではなく機械学習モデルを構築する上でのポイントにも順次、触れていきたいと思います。
1. 分析準備
2. 探索的データ解析
- データ確認編: 学習、評価データの定義、内容および欠損値の確認
- 基礎集計編: 異常値、分布形状を確認し、前処理方法を検討
- クロス集計(前半)編: チケットクラス、性別、年齢と生存率の関係を確認
- クロス集計(後半)編: 一緒に乗船した兄弟・配偶者/親子の数、運賃、乗船港と生存率の関係を確認
モデル構築編
- ベースラインモデル編: 精度のベースラインと目標感を把握
- 単変量モデル編: 有用な特徴量と学習/テストデータでの生存率の傾向を把握
- ロジスティック回帰モデル編: 7つの特徴量を用いロジスティック回帰モデルを構築、評価
- Random Forestモデル編: 非単調性や交互作用も学習ができるRandom Forestモデルを構築、評価