Scikit Learn でディシジョン ツリーを読むと、次のことがわかります。
ツリーが優勢なクラスに偏らないように、トレーニングの前にデータセットのバランスをとってください。クラスの均衡化は、各クラスから同数のサンプルをサンプリングするか、できれば各クラスのサンプルの重み (sample_weight) の合計を同じ値に正規化することによって行うことができます。
リンク: http://scikit-learn.org/stable/modules/tree.html
私は混乱しています。
(1)
クラス バランシングは、各クラスから同数のサンプルをサンプリングすることで実行できます。
このような場合、各クラスの各サンプルに適切なサンプル重みを追加する必要があります (またはクラス サンプルを追加します...)。
たとえば、サンプル数のある A と B の 2 つのクラスがあるとします。
A:100 B:10000
それぞれに 10000 個のサンプルを入力して重みを設定できますか:
Aの入力サンプル:10000、Bの入力サンプル:10000
A の重み: 0.01 、B の重み: 1.0
(2)
しかし、それはまだ言った:
できれば、各クラスのサンプルの重みの合計 (sample_weight) を同じ値に正規化します。
私はそれに完全に混乱しました。A の 100 サンプルと B の 10000 サンプルを入力してから、重みを設定する必要があるということですか。
Aの入力サンプル:100、Bの入力サンプル:10000
A の重み: 1.0 、B の重み: 1.0
しかし、不均衡なデータのバランスをとるために何もしなかったようです.
どちらの方法が優れており、Scikit Learn の 2 番目の方法の意味は何ですか? 誰かがそれを明確にするのを手伝ってくれますか?