1

不均衡なデータがあり、各サブサンプルが少数派クラスと同じサイズになる多数派クラスでランダムなサブサンプリングを実行したい...これはすでにWekaと Matlab で実装されていると思いますが、これに相当するものはありますか? sklearn ?

4

1 に答える 1

2

データが次のコードから生成されたもののように見えるとします。

import numpy as np

x = np.random.randn(100, 3)
y = np.array([int(i % 5 == 0) for i in range(100)])

y(マイノリティクラスである 1 は5 分の 1 だけです)。

マイノリティ クラスのサイズを確認するには、次のようにします。

>>> np.sum(y == 1)
20

多数派クラスで構成されるサブセットを見つけるには、次のようにします。

majority_x, majority_y = x[y == 0, :], y[y == 0]

サイズ 20 のランダムなサブセットを見つけるには、次のようにします。

inds = np.random.choice(range(majority_x.shape[0]), 20)

に続く

majority_x[inds, :]

majority_y[inds]
于 2016-01-16T16:50:22.733 に答える