我想以60%,20%,20%的比例随机分布到三个数据集中。我已经编码了一些东西,但是问题是它可以随机选择两次相同的值。代码:

mask_60 = np.random.choice([False, True], len(ds2), p=[0.4,0.6])
mask_20 = np.random.choice([False, True], len(ds2), p=[0.8,0.2])

ds2_train = ds2[mask_60]
ds2_test = ds2[mask_20]
ds2_val = ds2[mask_20]


有什么建议吗?

谢谢!

最佳答案

使用sklearn的train_test_split文档here。首先将数据集分为60%和40%,然后将40%分为两半。

from sklearn.cross_validation import train_test_split
set_1, temp = train_test_split(ds2, train_size=0.6, random_state=42)
set_2, set_3 = train_test_split(temp, train_size=0.5, random_state=42)


您还可以指定种子值以使样品可重现。

关于python - 在Python中随机分布数据集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33990862/

10-10 04:47