Я использовал 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
Что я делаю не так?