Гарантирует ли выполнение поиска в сетке по гиперпараметрам улучшенную производительность при тестировании на одном и том же наборе данных?
Я спрашиваю, потому что моя интуиция была "да", однако после настройки константы регуляризации я получил несколько более низкие оценки:
classifier_os = LinearModel.LogisticRegression()
p_grid = {
'C': np.logspace(-3, 3, 7)
}
clf = model_selection.GridSearchCV(classifier_os, p_grid, scoring='accuracy')
clf.fit(x_train, y_train)
y_pred = clf.predict(x_test)
metrics.classification_report(y_pred, y_test, output_dict=True)
Дает мне следующие оценки:
accuracy : 0.8218181818181818
macro avg:
precision : 0.8210875331564986
recall : 0.8213603058298822
f1-score : 0.8212129655428624
support : 275
По сравнению с предыдущей настройкой:
accuracy : 0.8290909090909091
macro avg:
precision : 0.8287798408488063
recall : 0.8285358354537744
f1-score : 0.8286468069310212
Единственное, что изменилось в настройке, это сделать константа регуляризации 10 вместо значения по умолчанию 1