私は機械学習の初心者であり、状況に直面しています。IPinYouデータセットを使用してリアルタイム入札の問題に取り組んでおり、クリック予測をしようとしています。
知っているかもしれませんが、データセットは非常に不均衡です。1つのポジティブな例(クリック)に対して約1300のネガティブな例(クリックなし)です。
これが私がすることです:
- データを読み込む
- データセットを3つのデータセットに分割します。A=トレーニング(60%)B =検証(20%)C =テスト(20%)
- 各データセット(A、B、C)について、比率が5になるように各ネガティブクラスでアンダーサンプリングを行います(1つのポジティブな例に対して5つのネガティブな例)。これにより、よりバランスのとれた3つの新しいデータセットが得られます。A 'B' C '
次に、データセットA 'とロジスティック回帰を使用してモデルをトレーニングします。
私の質問は:
どのデータセットを検証に使用する必要がありますか?BまたはB '?
どのデータセットをテストに使用する必要がありますか?CまたはC '
モデルの評価に最も関連するメトリックはどれですか?F1Scoreはよく使用されるメトリックのようです。しかし、ここでは不均衡なクラスのため(データセットBとCを使用する場合)、精度は低く(0.20未満)、F1Scoreは低いリコール/精度の影響を非常に受けます。aucPRまたはaucROCを使用する方が正確ですか?
学習曲線をプロットする場合、どのメトリックスを使用すればよいですか?(検証にB 'データセットを使用する場合、%errorは関係ないことを知っています)
お時間をいただきありがとうございます!
よろしく。