title: GridSearchCV best_score_ different from cross_val_score of best_estimator_
body: <p>The best result given by GridSearchCV is different to the cross_val_score of the best_estimator_: GridSearchCV best estimator score: 2.890</p>
  <pre><code>np.random.seed(42)
  kf1 = KFold(n_splits=5, random_state=7425, shuffle=True)
  grid_search=GridSearchCV(forest_reg,param_grid,cv=kf1, scoring='neg_mean_squared_error', return_train_score=True)
  grid_search.fit(DATA_prepared,DATA_labels)
  BestGSCDV_score=np.sqrt(-grid_search.best_score_)
  </code></pre>
  <p>Gives a different result than crossval: 2.941</p>
  <pre><code>np.random.seed(42)
  kf1 = KFold(n_splits=5, random_state=7425, shuffle=True)
  RFR_scores2=cross_val_score(grid_search.best_estimator_, DATA_prepared, DATA_labels, scoring='neg_mean_squared_error', cv=kf1)
  cvscore=np.sqrt(-RFR_scores2.mean())
  </code></pre>
  <p>I'm wondering what is causing this since the random state and even the random seed should ensure the splits of kf1 are identical over each call.</p>