データの不均衡に対処する必要がある理由を知る必要があります。私はそれをどのように扱うか、アップサンプリングまたはダウンサンプリング、またはSmoteを使用することで問題を解決するためのさまざまな方法を知っています。
たとえば、100のうち1%のまれな疾患があり、トレーニングセットに50/50サンプルのバランスのとれたデータセットを使用することに決めたとします。疾患?比率が100分の1であっても。
- データの不均衡に対処する必要があるのはなぜですか?
- バランスを設定するための推奨比率は何ですか
データの不均衡に対処する必要がある理由を知る必要があります。私はそれをどのように扱うか、アップサンプリングまたはダウンサンプリング、またはSmoteを使用することで問題を解決するためのさまざまな方法を知っています。
たとえば、100のうち1%のまれな疾患があり、トレーニングセットに50/50サンプルのバランスのとれたデータセットを使用することに決めたとします。疾患?比率が100分の1であっても。
回答:
少数派クラスを見つけることの価値が多数派を見つけることの価値よりもはるかに高い場合、不均衡なデータセットに対処する必要があります。
人口の1%がそのまれな病気にかかっているとしましょう。健康な人が病気だと言ったり、病気の人が健康だと言ったりするのと同じコストを割り当てるとします。すべての人が健康であり、99%の精度を得て、早く帰宅するというモデルを提供します。このようなモデルの問題は、高精度ですが、おそらくあなたが探しているものではないことです。たいていの場合、健康な人を不必要な検査に送ることを恐れるよりもはるかに多くの病気を持つ人(偽陰性に高い重みを与える)を見つけたい(偽陽性に低い体重)。現実世界の健康問題では、体重の比率は簡単に1〜1,000になります。
分布の不均衡により、ほとんどのアルゴリズムが適切なソリューションを見つけることができません。
ディストリビューションのバランスを取るだけでは最適なソリューションではないことは間違いありません。実際、バランスのとれた分布でトレーニングされたアルゴリズムは、評価される自然分布に適合しません。ここで見ることができるように、私のお気に入りの方法は、それを元に戻すことです。議論については、こちらをご覧ください。
同じ問題があるため、比率を他の問題に設定するだけでは機能しません。
Smoteは別の方法で動作しますが、私が試したときはうまく動作しませんでしたが、問題に合うかもしれません。
(不可視のデータで)モデルが改善される場合、クラスの不均衡に対処する必要があります。「より良い」とは、自分で定義しなければならないものです。それは正確である可能性があり、それはコストである可能性があり、それは真の正のレートである可能性があります。
クラスの不均衡について話すときは、微妙なニュアンスを把握することが重要です。つまり、次の理由でデータのバランスが崩れています。
場合によっては、1つのクラスが別のクラスよりもはるかに多く発生します。そして大丈夫です。この場合、特定の間違いが他の間違いよりも費用がかかるかどうかを調べる必要があります。これは、患者の致命的な病気を検出し、誰かがテロリストなどであるかどうかを判断する典型的な例です。これは、短い答えに戻ります。一部のミスが他のミスよりもコストが高い場合は、より高いコストを与えることでそれらを「罰する」ことができます。したがって、より良いモデルはより低コストになります。すべての間違いが同じくらいひどい場合、コストに敏感なモデルを使用するべき本当の理由はありません。
また、コストに敏感なモデルの使用は、不均衡なデータセットに限定されないことに注意することも重要です。データのバランスが完全に取れている場合にも、このようなモデルを使用できます。
データの本当の分布を表していないため、データが「不均衡」である場合があります。この場合、1つのクラスの「多すぎる」例と他のクラスの「少なすぎる」例があるため、注意する必要があります。これらのクラスの。
これは、コストを使用することとは異なります。1つの間違いが別の間違いよりも悪い場合はないかもしれないからです。何が起こるかというと、バイアスがかかり、目に見えないデータがトレーニングしたデータと同じ分布を持たない場合、モデルにとって有益ではありません。
私はあなたにトレーニングデータを与え、あなたの目標は何かが赤か青かを推測することだとしましょう。青と赤を間違えても、赤と青を間違えても、それほど違いはありません。トレーニングデータには、実生活では10%しか発生しない赤のインスタンスが90%あります。モデルを改善するためには、それに対処する必要があります。