DOC cross-reference balanced accuracy (unadj.) being identical to macro avg recall and make link for accuracy being identical to weighted avg recall

### Describe the workflow you want to enable
_[Please add label: module:metrics]_

In the output of metrics.classification_report, it should be explicitly indicated that the weighted average recall shown is in fact always identical to the accuracy shown separately (i.e. redundantly), and the macro average recall shown is identical to the metrics.balanced_accuracy_score (though not _adjusted_ balanced accuracy).

Here's a (non-toy) multi-class example showing that for both metrics, they match in all 15 decimal places in the **existing** classification_report :
```
classification_report(y_tst, y_pred_tst, digits=15) =
                 precision         recall            f1-score               support

              0  0.817246835443038 0.683879510095995 0.744638673634889      3021
              1  0.829678021465236 0.696708463949843 0.757401490947817      2552
              2  0.770103092783505 0.630912162162162 0.693593314763231      1184
              3  0.331294597349643 0.844155844155844 0.475841874084919       385
              4  0.394505494505494 0.920512820512820 0.552307692307692       390

       accuracy                                      0.700345193839618      7532
      macro avg  0.628565608309383 0.755233760175333 0.644756609147710      7532
   weighted avg  0.767319254559894 0.700345193839618 0.717240526308044      7532

balanced_accuracy_score(
              y_tst, y_pred_tst) = 0.755233760175333
```
(I've inserted some spaces above to fix the misalignment of the classification_report output for this many digits.   Would you like to see the confusion matrix that gives rise to the classification report above?)

These matches are of course not a coincidence.  If you compare the definition of accuracy to that of _micro_ average recall, you will see that they are one and the same, and the weighted average recall is known to be equal to the micro average recall and therefore equal to the accuracy.

Similarly the definition of macro average recall is the same as the definition of balanced accuracy used (by default) by metrics.balanced_accuracy_score: basically the simple average over classes of the proportion (of sample weight) classified correctly among the actual instances of each given class.

### Describe your proposed solution

As a minimal change, we could simply add another column to metrics.classification_report, something like this:
```
             precision  recall  f1-score support   name of avg recall
                              
     class 0    0.50    1.00     0.67       1
     class 1    0.00    0.00     0.00       1
     class 2    1.00    0.67     0.80       3

    accuracy                     0.60       5
   macro avg    0.50    0.56     0.49       5      balanced accur. (unadj.)
weighted avg    0.70    0.60     0.61       5      accuracy
```
Perhaps an optional keyword could suppress the existing (redundant) accuracy line included above, and perhaps in some future version this suppression could become the default.

### Describe alternatives you've considered, if relevant

Here is a possible variant that puts the metric names next to their values (and I've suppressed the separate, redundant accuracy line):
```
             precision  recall =avg metric     f1-score  support  
                                                                        
     class 0    0.50     1.00                     0.67       1    
     class 1    0.00     0.00                     0.00       1    
     class 2    1.00     0.67                     0.80       3    
                                                                
   macro avg    0.50     0.56  =balanced accur.   0.49       5    
weighted avg    0.70     0.60  =accuracy          0.61       5 
```
Here is another possible variant: 
```
             precision   recall  f1-score  support    avg recall metric name
                                 
     class 0    0.50       1.00     0.67       1
     class 1    0.00       0.00     0.00       1
     class 2    1.00       0.67     0.80       3
                                 
   macro avg    0.50    B= 0.56     0.49       5      B= bal. accur. (unadj.)
weighted avg    0.70    A= 0.60     0.61       5      A= accuracy
```


### Additional context

It's important that users understand that it's redundant to look at both the accuracy and the weighted avg recall, or both the balanced accuracy and the macro avg recall.  Let's not provide the same metric redundantly under multiple names, without pointing this out, so that the user naturally assumes that they are distinct metrics that are separately worthy of their attention.

COMMENT:
[glemaitre](https://github.com/glemaitre), I understand your point, but I would like to point out that the micro avg and sample avg rows are already suppressed whenever they are equal to the weighted avg, to avoid redundancy, but perhaps they "should" be shown "for completeness" by the same argument that you're using for showing the accuracy separately even though it is also redundant with the weighted avg recall.

Would you be willing to look at pull request https://github.com/scikit-learn/scikit-learn/pull/23374 ? It was originally for the documentation in metrics.recall_score itself, but now I've added to the classification_report doc in it as you are suggesting for the present feature request.

Labels: Documentation, module:metrics