2

imblearnマルチラベル分類ではうまく機能しないため、独自のアンダーサンプリング関数に取り組んでいます(たとえば、1次元のみを受け入れますy)。

X と y を反復処理して、多数派クラスの一部である 2 行または 3 行ごとに 1 行を削除します。目標は、多数派クラスの行数を減らす手っ取り早い方法です。

def undersample(X, y):
    counter = 0
    for index, row in y.itertuples():
        if row['rectangle_here'] == 0:
            counter += 1
            if counter > 3:
                counter = 0
                X.drop(index, inplace=True)
                y.drop(index, inplace=True)
    return X, y

しかし、少量の行 (〜 30,000) でもカーネルがクラッシュします。

yこのようなものです, いつでもf2またはf3存在する,f1存在する

それでは、0 が発生する回数を数えてから、f13 回ごとに 0 行を削除してみましょう。

                  f1      f2       f3
0                  0       0       0
1                  0       0       0
2                  0       0       0
3                  1       0       1
4                  0       0       0
5                  0       0       0
6                  0       0       0
7                  0       0       0
8                  0       0       0
9                  0       0       0
4

0 に答える 0