DecisionTreeRegression дает 100% точность обучения, но не проходит тестовый набор - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь подогнать действительно маленький набор данных, у которого нет обучающего примера = 16, и когда я использовал регрессию дерева решений, хотя он дает точные значения в обучении, но терпит неудачу в тестовом наборе. Я не могу понять, почему это происходит

from sklearn.tree import DecisionTreeRegressor

model = DecisionTreeRegressor(max_depth=50,max_features="auto")

model.fit(X, Y)

1 Ответ

0 голосов
/ 09 апреля 2020

Полагаю, что "он не проходит тестовый набор" вы на самом деле имеете в виду, что вы получаете низкую точность тестирования.


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


Есть много методов, которые могут помочь вам справиться с перегрузкой. Возможно, стоит начать с K-Fold Validation .

...