我想随机将一个数据集分成三个比例为 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/