我想随机分成三个数据集,比例分别为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]
有什么建议吗?
谢谢!
答案 0 :(得分:1)
使用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)
您还可以指定种子值以使样品可重现。
答案 1 :(得分:0)
感谢@Jonah
int(num)