Разница между методом gridCV.score для данных обучения и gridCV.best_score_ - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть вопрос о разнице между методом randomsearch.score (оценка 1) и атрибутом randomsearch.best_score_ (оценка 2).

Особенно, когда randomsearch.score применяется к X_train и y_train.

Я думал, что randomsearchCV автоматически ищет параметры, которые дают наивысший балл в тренировочном наборе? Я бы предположил, что randomsearch.score (Xtrain, ytrain) будет таким же, как счет randomsearch.best_params_?

from sklearn.model_selection import RandomizedSearchCV

def evaluate_model(model, param_grid, n_iter=100):
    random_search = RandomizedSearchCV(model, 
                                       param_grid, 
                                       cv=5, 
                                       n_jobs=2, 
                                       verbose=1, 
                                       n_iter=n_iter)

    random_search.fit(X_train, y_train)

    print (random_search.score(X_train, y_train)) # Score 1
    print (random_search.best_score_) # Score 2
    print (random_search.score(X_test, y_test)) # Score 3

    return random_search

  rgr = GradientBoostingRegressor(n_estimators=50)
  param_grid = {"max_depth": range(1,10,1)}

  gradient_boosting = evaluate_model(rgr, param_grid)

вместо этого возвращает

Score 1: 0.9585014239352219
Score 2: 0.7129331788310186
Score 3: 0.7530744077231204
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...