python numpy isin() 函数返回错误的结果

罗伊

我曾经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

我究竟做错了什么?

丹尼尔·F

您需要进行设置,replace = False以便您所做的选择不会回到选择池中

idx = np.random.choice(range(1000), 300, replace = False)
sum(~np.isin(np.arange(1000), idx))
Out[]: 700

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章