TST Extend tests for `scipy.sparse.*array`

SciPy sparse matrices (i.e. `scipy.sparse.*matrix`) are tested but their sparse arrays counterpart (i.e. `scipy.sparse.*array`) aren't yet will become ubiquitous (see #26418).

Tests and their parameterizations (when they exist) must be adapted to include `scipy.sparse.*array` conditionally to versions of SciPy that support them (i.e. `scipy>=1.8`).

### Steps

:information_source: You can take https://github.com/scikit-learn/scikit-learn/pull/27095 as an example for your PRs.

#### 1. Choose one of the files to adapt

 - Indicate the file you are adapting (later referred to as `<filename>`) on this issue so no-one ends up duplicating work. E.g.

```
Hi, I am starting working on `<filename>`.
```

Please double check as this list might be outdated, but candidate files might be:

 - [x] https://github.com/scikit-learn/scikit-learn/pull/27107
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27095
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27093
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27099
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27100
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27121
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27116
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27097
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27128
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27131
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27133
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27143
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27144
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27148
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27150
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27132
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27101
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27160
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27162
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27163
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27171 
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27188
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27289
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27170
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27173
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27175
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27176
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27177
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27178
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27201
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27202
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27206
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27208
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27210
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27211
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27212
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27213
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27214
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27215
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27216
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27217
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27218
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27219
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27220
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27221
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27222
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27223
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27224
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27225
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27226
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27227
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27228
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27229
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27230
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27231
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27233
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27235
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27237
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27239
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27241
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27242
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27246
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27252
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27253
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27254
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27257
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27261
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27262
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27270
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27273
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27274
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27276
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27277
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27278
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27301
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27319
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27323
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27175
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27341
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27326
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27319
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27366
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27250
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27301
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27288
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27220
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27494
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27166
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27205
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27164
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27179
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27104
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27203
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27502
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27413
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27240
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27314
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27723
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27161
 - [x] https://github.com/scikit-learn/scikit-learn/pull/28101
 - [x] https://github.com/scikit-learn/scikit-learn/pull/27847


#### 2. Perform the following (non-exhaustive) changes for `<filename>`

 - Add test parametrization for tests using `*_matrix` (for instance see https://github.com/scikit-learn/scikit-learn/pull/27095/commits/eda7b16442869f6ccb37dd1b2a1b3bc47e4bec51)
 - Adapt existing test parametrization to test against sparse array (for instance see https://github.com/scikit-learn/scikit-learn/pull/27095/commits/6717f9903091e2780948aa9ef5765e2cd6d0f84a)
 - Extend or add test checking that type of sparse containers are preserve by functions. E.g. adding tests like (as proposed by https://github.com/scikit-learn/scikit-learn/issues/27090#issuecomment-1683849213):
	```python
    sparse_input = sparse_container(...)
    sparse_output = process_sparse_container(sparse_input)

    assert isinstance(sparse_output, type(sparse_input))
	```
 - Run tests for this file:
   ```
   # Run all the test in <filename>
   pytest <filename> -k test_to_run
   
   # Run a specific test in this file
   pytest <filename> -k test_to_run
   ```
 - If tests fail, the tested implementations has to be adapted (let us know if you need help)

#### 3. Create a pull request

 - Use this title:

```
TST Extend tests for `scipy.sparse.*array` in `<filename>`
```

 - Mention this issue in its description:

```
Towards #27090.
```

#### 4. Once the pull request is created

 - Ignore the error on the CI related the changelog: those PR need not update the changelog since nothing has changed for the users (until this issue is resolved), and maintainers must label PRs as "No Changelog Needed" for the check to be deactivated.

COMMENT:
Try to uninstall any previously installed scikit-learn version with pip or conda and reinstall the one from your source folder in editable mode.

If you want to use both the stable version of scikit-learn and the developer version of scikit-learn when working on other projects, you can create different environment with conda:

- https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html

To build and install the developer version of scikit-learn from source, please follow the instructions from the documentation:

- https://scikit-learn.org/dev/developers/advanced_installation.html#install-bleeding-edge

Labels: Sprint, module:test-suite, Meta-issue, good first PR to review