なぜベースラインを作成するのか
ベースラインを作成する主な理由はベースラインがないと評価の判断がしづらいからです。
データの可視化やデータの前処理を行う際にも基準となるものがないと精度の良し悪しを判断することが難しくなります。
ベースライン作成で意識すること
- 目的変数の設定
- どのモデルを使って評価を行うか
- モデルを何の評価指標で評価するか
1. 課題の理解
Kaggleであればコンペの内容、業務であれば課題を理解することが非常に重要です。何を目的変数にするか、どの評価指標を使うかを理解することが分析設計につながります。
私はこの課題の理解を疎かにしてとりあえず手に動かす癖があるのですが、結局のいつか課題の理解をしなければならず、それまでやっていたことが無駄になった経験があります。最初は面白くないと感じることもあると思いますが、焦らずに時間をかけて課題の理解を行いましょう!
2. データの確認
簡単にデータの確認を行います。確認することは以下の3点です。
・レコード数、カラム数
・データの型
・欠損値
仮に欠損値があったとしても、ここで欠損値の補間を行うことは避けましょう!
欠損に意味がある場合もあるので、ここでは確認に留めておきましょう。
3. 目的変数と説明変数
次に目的変数と説明変数の作成を行います。
説明変数は全ての項目を入れると、問題点の洗い出しがしにくくなるため最初は2,3個程度を使って行いましょう。あくまでベースライン作成を行っていることを忘れないことが大切だと思います。
4. バリデーション設計
手元のデータを使って作成するモデルを評価するためにバリデーション設計を行います。
詳しくは述べませんが、学習データと検証データを分割する手法としてホールドアウト検証と交差検証が挙げられます。重要なことは本来手元にないはずの未来のデータを使って学習をすることがないようにバリデーション設計を行うことです。
5. モデル学習
どのモデルを使うかは悩むと思いますが、最初のうちはLightGBMを使うことが良いと思います。
特にLightGBMではカテゴリ変数を数値に変換したり、欠損値を処理する必要がないため初心者にはおすすめです。
6. モデル推論
いよいよ最後の工程です。学習したモデルと推論用データセットを使って予測を行いましょう。
最後に
最後まで読んでいただいた方はありがとうございます!
私もデータ分析を始めたばかりでわからないことしかないのですが、大切なのは1つ1つ学んでいくことだと思ってます。私と同じようにデータ分析始めたばかりの方がいれば一緒に頑張りましょう!
内容に不備があれば、ご指摘いただけると嬉しいです!
参考文献
- 諸橋政幸 『Kaggleで磨く機械学習の実践力』 リックテレコム, 2022