バランスの取れたトレーニングセットを人工的に構築することは議論の余地があり、実際にはかなり物議を醸しています。これを行う場合は、トレーニングセットのバランスを崩すよりも実際に機能することを経験的に確認する必要があります。テストセットの人工的なバランスを取ることは、ほとんど決して良い考えではありません。テストセットは、ラベルなしで入ってくる新しいデータポイントを表す必要があります。あなたはそれらが不均衡であることを期待しているので、あなたのモデルが不均衡なテストセットを処理できるかどうかを知る必要があります。(新しいレコードの不均衡が予想されない場合、既存のすべてのレコードが不均衡になるのはなぜですか?)
あなたのパフォーマンス測定基準に関しては、あなたは常にあなたが尋ねるものを得るでしょう。クラスだけでなく誤分類コストも不均衡であるため、不均衡セットで最も必要な精度が正確でない場合は、使用しないでください。精度をメトリックとして使用し、モデルの選択とハイパーパラメータの調整をすべて、常に最高の精度のものを使用して行った場合、精度を最適化しています。
私はマイノリティのクラスをポジティブクラスとして取り上げます。これは、従来の方法で名前を付ける方法です。したがって、以下で説明する精度と再現率は、少数派クラスの精度と再現率です。
- すべてのマイノリティクラスのレコードを特定することだけが重要な場合は、思い出すことができます。したがって、より多くの誤検知を受け入れます。
 
- 精度のみを最適化するのは非常に奇妙なアイデアです。少数派クラスを過小検出することは問題ではないことを分類子に伝えます。高精度にするための最も簡単な方法は、少数派クラスを宣言する際に慎重になることです。
 
- 精度と再現率が必要な場合は、Fメジャーを使用できます。これは、精度と再現率の調和平均であり、両方のメトリックが異なる場合の結果にペナルティを課します。
 
- 両方向の具体的な誤分類コスト(およびクラスごとに異なる場合は正しい分類の利益)がわかっている場合は、それらすべてを損失関数に入れて最適化できます。