У меня был вопрос о настройке гиперпараметров и поиске наиболее подходящей модели (поиск наиболее подходящей модели для конкретного набора данных). Я порекомендовал разделить данные на три набора, а не на два (только для обучения и тестирования):
_Обучение
_Проверка
_Тестирование
и использовать поиск по сетке (перекрестная проверка) в моем обучающем наборе, после поиска по сетке (перекрестная проверка) я могу использовать другой набор проверок, чтобы проверить мощность обобщения моей модели (производительность на невидимых данных), я могу изменить некоторые параметры после этого . Однако я не знаю, как использовать набор для проверки возможности обобщения моей модели.
Мой код:
dt = DecisionTreeClassifier(random_state=12)
max_depth = [int(d) for d in np.linspace(1,20,20)]
max_features = ['log2', 'sqrt','auto']
criterion = ['gini', 'entropy']
min_samples_split = [2, 3, 50, 100]
min_samples_leaf = [1, 5, 8, 10]
grid_param_dt = dict(max_depth=max_depth, max_features=max_features, min_samples_split=min_samples_split, min_samples_leaf=min_samples_leaf, criterion=criterion)
gd_sr_dt = GridSearchCV(estimator=dt, param_grid=grid_param_dt, scoring='accuracy', cv=10)
gd_sr_dt.fit(x_train, y_train)
best_parameters_dt = gd_sr_dt.best_params_
print(best_parameters_dt)
и я получаю настройку гиперпараметров, как показано ниже:
{'criterion': 'gini', 'max_depth': 9, 'max_features': 'log2', 'min_samples_leaf': 10, 'min_samples_split': 50}
Как использовать набор для проверки возможности обобщения модели с этими гиперпараметрами?