title: Difference in ROC-AUC scores in sklearn RandomForestClassifier vs. auc methods
body: <p>I am receiving different ROC-AUC scores from sklearn's RandomForestClassifier and roc_curve, auc methods, respectively. </p>
  
  <p>The following code got me an ROC-AUC (i.e. gs.best_score_) of 0.878:</p>
  
  <pre><code>def train_model(mod = None, params = None, features = None, 
          outcome = ...outcomes array..., metric = 'roc_auc'):
      gs = GridSearchCV(mod, params, scoring=metric, loss_func=None, score_func=None, 
          fit_params=None, n_jobs=-1, iid=True, refit=True, cv=10, verbose=0, 
          pre_dispatch='2*n_jobs', error_score='raise')
      gs.fit(...feature set df..., outcome)
  
      print gs.best_score_
      print gs.best_params_
  
      return gs
  
  model = RandomForestClassifier(random_state=2000, n_jobs=-1)
  features_to_include = [...list of column names...]
  
  parameters = {
              'n_estimators': [...list...], 'max_depth':[...list...],
              'min_samples_split':[...list...], 'min_samples_leaf':[...list...]
              }
  
  gs = train_model(mod = model, params = parameters, features = features_to_include)
  </code></pre>
  
  <p>Whereas, the following code got me an ROC-AUC of 0.97:</p>
  
  <pre><code>fpr = dict()
  tpr = dict()
  roc_auc = dict()
  fpr['micro'], tpr['micro'], _ = roc_curve(...outcomes array..., 
                                      gs.predict_proba(...feature set df...)[:, 1])
  roc_auc['micro'] = auc(fpr['micro'], tpr['micro'])
  </code></pre>
  
  <p>Why is there such a difference? Did I do something wrong with my code?</p>
  
  <p>Thanks!
  Chris</p>