在Python中随机传播数据集

时间:2015-11-30 03:08:33

标签: python python-2.7

我想随机分成三个数据集,比例分别为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]

有什么建议吗?

谢谢!

2 个答案:

答案 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)