title: sklearn roc_auc_score with multi_class=="ovr" should have None average available
body: <p>I'm trying to compute the AUC score for a multiclass problem using the sklearn's <a href="https://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_auc_score.html#sklearn.metrics.roc_auc_score" rel="noreferrer">roc_auc_score()</a> function.</p>
  
  <p>I have prediction matrix of shape [n_samples,n_classes] and a ground truth vector of shape [n_samples], named <code>np_pred</code> and <code>np_label</code> respectively.</p>
  
  <p>What I'm trying to achieve is the set of AUC scores, one for each classes that I have.</p>
  
  <p>To do so I would like to use the <code>average</code> parameter option <code>None</code> and <code>multi_class</code> parameter set to <code>"ovr"</code>, but if I run </p>
  
  <pre><code>roc_auc_score(y_score=np_pred, y_true=np_label, multi_class="ovr",average=None)
  </code></pre>
  
  <p>I get back</p>
  
  <pre><code>ValueError: average must be one of ('macro', 'weighted') for multiclass problems
  </code></pre>
  
  <p>This error is expected from the sklearn function in the case of the <a href="https://github.com/scikit-learn/scikit-learn/blob/b194674c42d54b26137a456c510c5fdba1ba23e0/sklearn/metrics/_ranking.py#L446" rel="noreferrer">multiclass</a>; but if you take a look at the <code>roc_auc_score</code> function source code, you can see that if the <code>multi_class</code> parameter is set to <code>"ovr"</code>, and the average is one of the accepted one, the multiClass case is treated as a <a href="https://github.com/scikit-learn/scikit-learn/blob/b194674c42d54b26137a456c510c5fdba1ba23e0/sklearn/metrics/_ranking.py#L491" rel="noreferrer">multiLabel one</a> and the internal multiLabel function <a href="https://github.com/scikit-learn/scikit-learn/blob/e947689c90624009ea25f4f97f7b6cb0198a96dc/sklearn/metrics/_base.py#L67" rel="noreferrer">accepts <code>None</code></a> as <code>average</code> parameter.</p>
  
  <p>So, by looking at the code, it seems that I should be able to execute a multiclass with a <code>None</code> average in a <code>One vs Rest</code> case but the <code>if</code>s in the source code do not allow such combination.</p>
  
  <p>Am I wrong?</p>
  
  <p>In case I'm wrong, from a theoretical point of view should I fake a multilabel case just to have the different AUCs for the different classes or should I write my own function that cycles the different classes and outputs the AUCs?</p>
  
  <p>Thanks</p>