如何保存随机欠采样的数据?



我试图通过使用大多数类的随机欠采样来平衡数据帧。它已经成功了,但是,我还想将已经从数据帧(欠采样)中删除的数据保存到新的数据帧中。我该如何做到这一点?

这是我用来对数据帧

进行欠采样的代码
from imblearn.under_sampling import RandomUnderSampler
rus = RandomUnderSampler(sampling_strategy=1)
X_res, y_res = rus.fit_resample(X, y)
df1 = pd.concat([X_res, y_res], axis=1)

RandomUnderSampler有一个属性sample_indices_,表示保留子样本的指标。这应该是:

dropped_ids = [i for i in range(X.shape[0]) if i not in rus.sample_indices_]
X.iloc[dropped_ids]  # for dataframes
X[dropped_ids, :]  # for numpy arrays

最新更新