如何根据两个变量重新采样以均匀地派生类?

2024-10-06 04:01:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大小为(350,标签0:N1=170,标签1:N2=1:190)的二元目标变量y(例如性别),它是不平衡的(但也可能是平衡的),形状为(350100)的特征数组X和第三个变量“town”,它是分类的,用0-6编码

我现在需要找到一种方法来推导目标“y”(性别的平衡向量,y)的平衡样本,它也在变量“town”上平衡,这样每个男性和女性都生活在平衡的城镇中(城镇1:45,城镇2:45,城镇3:45,…)

我使用了sklearn和IMBRearn——对于一个变量来说很容易,因为这样我就可以使用IMBRearn提供的现成的采样技术,并均匀地导出类大小。当然,对于第二个变量,它们并不平衡

可视化的虚拟示例:

Sex  X1   X2  Town
1   2.10 0.30  1
0   1.10 1.12  8
1   0.45 1.19  4
1   1.90 2.01  2
1   0.20 2.25  1
0   0.15 1.12  0

任何想法都将受到高度赞赏