label_ranking_average_precision_score does not allow csr_matrix for y_true input

### Describe the bug

The `label_ranking_average_precision_score` in `sklearn.metrics` according to the doc must allow a csr_matrix as input

```
y_true : {ndarray, sparse matrix} of shape (n_samples, n_labels)
```

The bug was introduced by removing the `check_arrays` method in favor of `check_array`
https://github.com/scikit-learn/scikit-learn/commit/6e2a83b4e184f0e51aead75d5c82fc0284fa6233#diff-2f5f868973c3d214e0d76fc01ff1e31b48fa8b839cf294e788ac46ae984f9e1aL730

`check_arrays` with `sparse_format` `None` used to  allow `['csr', 'csc']` inputs.
https://github.com/scikit-learn/scikit-learn/commit/6e2a83b4e184f0e51aead75d5c82fc0284fa6233#diff-962bea3f949b0a1e7b2ad40d2879f5d7ba1e6cd7da168daa82f84a87e800715eL340

`check_array` on the contrary raises an error when not explicitly pass the `accept_sparse` input


### Steps/Code to Reproduce

```
import numpy as np
from sklearn.metrics import label_ranking_average_precision_score
y_true = csr_matrix(np.array([[1, 0, 0], [0, 0, 1]]))
y_score = np.array([[0.5, 0.9, 0.6], [0, 0, 1]])
label_ranking_average_precision_score(y_true, y_score)
```

### Expected Results

0.6666666666666666

### Actual Results

```
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/Users/winschu/vsbl/adhoc-data-analysis/verticle-classifier/fasttext.ipynb Cell 16' in <module>
      [3](vscode-notebook-cell:/Users/winschu/vsbl/adhoc-data-analysis/verticle-classifier/fasttext.ipynb#ch0000015?line=2)[ y_true = csr_matrix(np.array([[1, 0, 0], [0, 0, 1]]))
      ]()[4](vscode-notebook-cell:/Users/winschu/vsbl/adhoc-data-analysis/verticle-classifier/fasttext.ipynb#ch0000015?line=3)[ y_score = np.array([[0.5, 0.9, 0.6], [0, 0, 1]])
----> ]()[5](vscode-notebook-cell:/Users/winschu/vsbl/adhoc-data-analysis/verticle-classifier/fasttext.ipynb#ch0000015?line=4)[ label_ranking_average_precision_score(y_true, y_score)

File ~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/metrics/_ranking.py:1055, in label_ranking_average_precision_score(y_true, y_score, sample_weight)
   ]()[1011](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/metrics/_ranking.py?line=1010)[ """Compute ranking-based average precision.
   ]()[1012](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/metrics/_ranking.py?line=1011)[ 
   ]()[1013](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/metrics/_ranking.py?line=1012)[ Label ranking average precision (LRAP) is the average over each ground
   (...)
   ]()[1052](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/metrics/_ranking.py?line=1051)[ 
   ]()[1053](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/metrics/_ranking.py?line=1052)[ """
   ]()[1054](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/metrics/_ranking.py?line=1053)[ check_consistent_length(y_true, y_score, sample_weight)
-> ]()[1055](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/metrics/_ranking.py?line=1054)[ y_true = check_array(y_true, ensure_2d=False)
   ]()[1056](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/metrics/_ranking.py?line=1055)[ y_score = check_array(y_score, ensure_2d=False)
   ]()[1058](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/metrics/_ranking.py?line=1057)[ if y_true.shape != y_score.shape:

File ~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py:720, in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator)
    ]()[718](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=717)[ if sp.issparse(array):
    ]()[719](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=718)[     _ensure_no_complex_data(array)
--> ]()[720](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=719)[     array = _ensure_sparse_format(
    ]()[721](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=720)[         array,
    ]()[722](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=721)[         accept_sparse=accept_sparse,
    ]()[723](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=722)[         dtype=dtype,
    ]()[724](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=723)[         copy=copy,
    ]()[725](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=724)[         force_all_finite=force_all_finite,
    ]()[726](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=725)[         accept_large_sparse=accept_large_sparse,
    ]()[727](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=726)[     )
    ]()[728](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=727)[ else:
    ]()[729](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=728)[     # If np.array(..) gives ComplexWarning, then we convert the warning
    ]()[730](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=729)[     # to an error. This is needed because specifying a non complex
    ]()[731](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=730)[     # dtype to the function converts complex to real dtype,
    ]()[732](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=731)[     # thereby passing the test made in the lines following the scope
    ]()[733](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=732)[     # of warnings context manager.
    ]()[734](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=733)[     with warnings.catch_warnings():

File ~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py:440, in _ensure_sparse_format(spmatrix, accept_sparse, dtype, copy, force_all_finite, accept_large_sparse)
    ]()[437](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=436)[ _check_large_sparse(spmatrix, accept_large_sparse)
    ]()[439](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=438)[ if accept_sparse is False:
--> ]()[440](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=439)[     raise TypeError(
    ]()[441](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=440)[         "A sparse matrix was passed, but dense "
    ]()[442](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=441)[         "data is required. Use X.toarray() to "
    ]()[443](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=442)[         "convert to a dense numpy array."
    ]()[444](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=443)[     )
    ]()[445](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=444)[ elif isinstance(accept_sparse, (list, tuple)):
    ]()[446](file:///~/venv/verticle-classifier/lib/python3.8/site-packages/sklearn/utils/validation.py?line=445)     if len(accept_sparse) == 0:

[TypeError: A sparse matrix was passed, but dense data is required. Use X.toarray() to convert to a dense numpy array.]()
```

### Versions

```shell
System:
    python: 3.8.12 (default, Nov 17 2021, 21:56:15)  [Clang 13.0.0 (clang-1300.0.29.3)]
executable: /Users/winschu/venv/verticle-classifier/bin/python
   machine: macOS-11.6.4-x86_64-i386-64bit

Python dependencies:
          pip: 22.0.3
   setuptools: 60.5.0
      sklearn: 1.0.2
        numpy: 1.22.1
        scipy: 1.8.0
       Cython: None
       pandas: 1.4.0
   matplotlib: None
       joblib: 1.1.0
threadpoolctl: 3.1.0

Built with OpenMP: True
```
```

COMMENT:
Thank you for opening the issue! I think your analysis is correct. Are you interested in opening a PR with your fix?

In the PR, you can use your code snippet as a non-regression test for `sklearn/metrics/tests/test_ranking.py`.

Labels: Bug, module:metrics