title: how to score precision, recall and f1-score in a multi-class dataset using cross-validate?
body: <p>This code is working for the dataset which has 2 classes, but not in multi-class</p>
  
  <pre><code>scoring = {'accuracy' : make_scorer(accuracy_score), 
         'precision' : make_scorer(precision_score),
         'recall' : make_scorer(recall_score), 
         'f1_score' : make_scorer(f1_score)}
  scores = cross_val_score(gnb,x,y, cv=5, scoring=scoring)
  print(scores)
  </code></pre>
  
  <p>the error show</p>
  
  <pre><code>ValueError: For evaluating multiple scores, use sklearn.model_selection.cross_validate instead. {'accuracy': make_scorer(accuracy_score), 'precision': make_scorer(precision_score, average=None), 'recall': make_scorer(recall_score), 'f1_score': make_scorer(f1_score)} was passed
  </code></pre>
  
  <p>when I check the code with changed it like this</p>
  
  <pre><code>scores = cross_val_score(gnb,x,y, cv=5, scoring='precision')
  </code></pre>
  
  <p>the error show</p>
  
  <pre><code>ValueError: Target is multiclass but average='binary'. Please choose another average setting, one of [None, 'micro', 'macro', 'weighted'].
  </code></pre>
  
  <p>it's not working when I set the <code>average</code> in <code>make_scorer</code></p>