カテゴリー変数を使用したオーバーサンプリング


9

データセットと2つのグループに分けられた約4000人の顧客のバランスをとるために、オーバーサンプリングとアンダーサンプリングの組み合わせを実行します。グループの1つは約15%の割合です。

私はSMOTE(http://www.inside-r.org/packages/cran/DMwR/docs/SMOTE)とROSE(http://cran.r-project.org/web/packages/ROSE/ ROSE.pdf)ですが、これらはどちらも既存の観測結果(kNNなど)を使用して新しい合成サンプルを作成します。

ただし、顧客に関連付けられている属性の多くはカテゴリー的であるため、これが正しい方法だとは思いません。たとえば、Region_AやRegion_Bなどの多くの変数は相互に排他的ですが、kNNを使用すると、新しい観測値がRegion_AとRegion_Bの両方に配置される場合があります。これが問題であることに同意しますか?

その場合-単に既存の観測を複製することによって、Rでオーバーサンプリングをどのように実行しますか?それともこれは間違った方法ですか?


観測数が4000しかないのに、なぜサブサンプリングが必要なのですか?
kjetil b halvorsen 2014年

データセットのバランスを取り、クラスのシェアをほぼ等しくしたいと考えています。データをそのまま使用すると、モデルはすべての観測値を多数派クラスとして予測します。
ピル14年

回答:


8

ROSEとSMOTEはカテゴリ変数を処理するように設計されているため、カテゴリ変数がバイナリ形式で表現されていない限り、通常、合成観測に相互に排他的なカテゴリ機能が割り当てられることを心配する必要はありません。そうであれば、いつでもそれらを要因として再構築できます。

2つのリージョンの例では、「A」と「B」の2つのレベルを持つ新しいリージョン変数を作成します。レコードは、元の列を参照することにより、適切な値を取ります。

ここで、新しい合成観測が複数のその他の関連のない変数(たとえば、syntheticObservation.isPig = 1およびsyntheticObservation.hasWings = 1)に分散しているために、新しい合成観測が競合するカテゴリを生成する可能性がある場合、常に追加のデータ変更を実行できますそのような異常を取り除くためにモデル推定を行う前に。

また、データセットには約600のイベント観測があるため、マジョリティクラスをアンダーサンプリングして導出された合成観測を使用することの潜在的な利点を検討してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.