Я использовал GridSearchCV (... scoring = "precision" ...) для модели классификации.и теперь я собираюсь использовать GridSearchCV для регрессионной модели и установить оценку с собственной функцией ошибки.
Пример кода:
def rmse(predict, actual):
predict = np.array(predict)
actual = np.array(actual)
distance = predict - actual
square_distance = distance ** 2
mean_square_distance = square_distance.mean()
score = np.sqrt(mean_square_distance)
return score
rmse_score = make_scorer(rmse)
gsSVR = GridSearchCV(...scoring=rmse_score...)
gsSVR.fit(X_train,Y_train)
SVR_best = gsSVR.best_estimator_
print(gsSVR.best_score_)
Однако я обнаружил, что таким способом возвращают набор параметров, когдаоценка ошибки самая высокая.В результате я получил худший набор параметров и балл.В таком случае, как я могу получить лучшую оценку и оценку?
Сводка:
классификация -> GridSearchCV (оценка = "точность") -> best_estimaror ... best
регрессия -> GridSearchCV (scroing = rmse_score) -> best_estimator ... худший