title: Evaluate multiple scores on sklearn cross_val_score
body: <p>I'm trying to evaluate multiple machine learning algorithms with sklearn for a couple of metrics (accuracy, recall, precision and maybe more).</p>
  
  <p>For what I understood from the documentation <a href="http://scikit-learn.org/stable/modules/model_evaluation.html#" rel="noreferrer">here</a> and from the source code(I'm using sklearn 0.17), the <a href="http://scikit-learn.org/stable/modules/generated/sklearn.cross_validation.cross_val_score.html#sklearn.cross_validation.cross_val_score" rel="noreferrer">cross_val_score</a> function only receives one scorer for each execution. So for calculating multiple scores, I have to :</p>
  
  <ol>
  <li>Execute multiple times</li>
  <li><p>Implement my (time consuming and error prone) scorer</p>
  
  <p>I've executed multiple times with this code :</p>
  
  <pre><code>from sklearn.svm import SVC
  from sklearn.naive_bayes import GaussianNB
  from sklearn.tree import DecisionTreeClassifier
  from sklearn.cross_validation import  cross_val_score
  import time
  from sklearn.datasets import  load_iris
  
  iris = load_iris()
  
  models = [GaussianNB(), DecisionTreeClassifier(), SVC()]
  names = ["Naive Bayes", "Decision Tree", "SVM"]
  for model, name in zip(models, names):
      print name
      start = time.time()
      for score in ["accuracy", "precision", "recall"]:
          print score,
          print " : ",
          print cross_val_score(model, iris.data, iris.target,scoring=score, cv=10).mean()
      print time.time() - start
  </code></pre></li>
  </ol>
  
  <p>And I get this output: </p>
  
  <pre><code>Naive Bayes
  accuracy  :  0.953333333333
  precision  :  0.962698412698
  recall  :  0.953333333333
  0.0383198261261
  Decision Tree
  accuracy  :  0.953333333333
  precision  :  0.958888888889
  recall  :  0.953333333333
  0.0494720935822
  SVM
  accuracy  :  0.98
  precision  :  0.983333333333
  recall  :  0.98
  0.063080072403
  </code></pre>
  
  <p>Which is ok, but it's slow for my own data. How can I measure all scores ?</p>