Здесь описывается разница между тестом, поездом и набором валидации. В большинстве документов по обучению нейронных сетей я обнаружил, что эти три набора используются, однако они часто предопределены.
У меня относительно небольшой набор данных (всего 906 3D-изображений, распределение сбалансировано). Я использую функцию sklearn.model_selection.train_test_split
для разделения данных в поездах и тестовых наборах и использую X_test и y_test в качестве данных проверки в моей модели.
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=1)
...
history = AD_model.fit(
X_train,
y_train,
batch_size=batch_size,
epochs=100,
verbose=1,
validation_data=(X_test, y_test))
После тренировки я оцениваю модель на тестовом наборе:
test_loss, test_acc = AD_model.evaluate(X_test, y_test, verbose=2)
Я видел, что другие люди также подходят к этому так, но так как модель уже видела это данные, я не уверен, каковы последствия этого подхода. Может кто-нибудь сказать мне, каковы последствия использования одного и того же набора для проверки и тестирования? И так как у меня уже есть небольшой набор данных (в результате чего происходит переоснащение), необходимо ли разбивать данные на 3 набора?