TL; DR: то, что вы вернули, называется R2
или коэффициент детерминации. Это показатель по умолчанию c для функции XGBRegressor
score
, который выбирается GridSearchCV
, если scoring=None
Сравните результаты с явным кодированием scoring
:
from sklearn.metrics import make_scorer, r2_score, mean_squared_error
xgb_model = xgb.XGBRegressor(objective='reg:squarederror', verbose=False)
reg = GridSearchCV(estimator=xgb_model, scoring=make_scorer(r2_score),
param_grid= {'max_depth': [2], 'n_estimators': [50]},
cv=folds,
verbose=False)
reg.fit(X, y)
reg.best_score_
0.7333542105472226
с теми, у кого scoring=None
:
reg = GridSearchCV(estimator=xgb_model, scoring=None,
param_grid= {'max_depth': [2], 'n_estimators': [50]},
cv=folds,
verbose=False)
reg.fit(X, y)
reg.best_score_
0.7333542105472226
Если вы прочитали GridSearchCV
строки документов :
оценка: объект оценки. Предполагается, что это реализует интерфейс оценщика scikit-learn. Либо оценщик должен предоставить функцию score
, либо должна быть передана scoring
.
На данный момент вы хотите проверить документы на xgb_model.score?
:
Подпись: xgb_model.score (X, y, sample_weight = Нет)
Строка документа:
Возвращает коэффициент определения R ^ 2 прогноза.
Итак, с помощью эти документы, если вам не нравится функция XGBRegressor
по умолчанию R2
, укажите вашу функцию оценки явно GridSearchCV
Например, если вы хотите RMSE
, вы можете сделать:
reg = GridSearchCV(estimator=xgb_model,
scoring=make_scorer(mean_squared_error, squared=False),
param_grid= {'max_depth': [2], 'n_estimators': [50]},
cv=folds,
verbose=False)
reg.fit(X, y)
reg.best_score_
4.618242594168436