imbalanced_learn对标签进行排序

时间:2018-06-06 09:33:06

标签: pandas scikit-learn

我正在尝试使用imbalanced_learn RandomUnderSampler,但每当我执行它时,它会对标签进行排序,使数据无效。 Y包含整数,1或0.这是代码:

X, Y = df.iloc[:, 1:], df.iloc[:, 0]

X_res, Y_res = RandomUnderSampler().fit_sample(X, Y)

print(Y_res)

打印Y给我0 1      0      0       0     1     1       1       1        0        1 0

- >按预期随机。

打印Y_res时给我0     0     0     0     0     0     0     0     0     0     0

虽然最后的是1 1 1 1 1 1 1 ...

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

它正在做它应该做的事情。返回具有相等比例的2个类的数据集的子集。如果您的初始数据集有偏差,比如90:10 :: 1:0,欠采样的X_res,则Y_res是数据集的一部分,其中1:0接近50:50。现在你可以按照你的要求随意拆分X_res,Y_res,测试,验证