Полагаю, что "он не проходит тестовый набор" вы на самом деле имеете в виду, что вы получаете низкую точность тестирования.
Это прекрасный пример модели с надписью . По определению, переобучение происходит, когда точность обучения (в вашем случае составляет 100%) превышает точность обучения / проверки. Это означает, что ваша модель выучила шаблоны данных обучения, которые неприменимы или недействительны для более широких слоев населения.
Есть много методов, которые могут помочь вам справиться с перегрузкой. Возможно, стоит начать с K-Fold Validation .