现在我有一个看起来像
的数据集 attr1 attr2 attr3 attr4 attr5 attr6 attr7 attr8 attr9 attr10 y
0 0 0 1 1 1 0 0 0 1 1 1
1 0 0 0 0 0 0 0 1 0 0 1
2 1 0 0 1 1 0 1 0 0 1 1
3 1 0 1 0 0 1 1 0 1 1 1
4 0 1 1 1 1 1 0 0 0 1 1
由
产生df = pd.DataFrame(data=np.random.randint(0, 2, size=(1000, 11)),
columns=["attr"+str(i+1) for i in range(10)] + ["y"])
现在,我想拥有一个新的数据集,以使attr1
到attr10
的每个组合都具有完全相同数量的正样本和负样本。例如,(0, 0, 0, 0, 0, ..., 0)
将有100个正样本和负样本,(0, 0, 0, 0, ..., 1)
也将有100个正样本和负样本,等等。
由于将有1024个不同的组合,因此无法进行枚举。我想知道是否有一些聪明的方法可以做到这一点。