我曾经np.random.choice(datasize, n_train_data)
对数据集进行洗牌和拆分。至于测试数据集:
np.random.seed(99)
dataset_index = np.arange(datasize)
train_index_arr = np.random.choice(dataset_index, n_train_data)
mask = ~np.isin(dataset_index, train_index_arr))
val_index_arr = dataset_index[mask]
但是它返回错误的结果。请参考以下代码:
idx = np.random.choice(range(1000), 300)
sum(~np.isin(np.arange(1000), idx))
>> 742 # expected result: 700
我究竟做错了什么?
您需要进行设置,replace = False
以便您所做的选择不会回到选择池中
idx = np.random.choice(range(1000), 300, replace = False)
sum(~np.isin(np.arange(1000), idx))
Out[]: 700
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句