Talip7/scikit-learn-issues-multilabel huggingface dataset:
PERF `PairwiseDistancesReductions` initial work

`PairwiseDistancesReductions` have been introduced as a hierarchy of Cython classes to implement back-ends of some scikit-learn algorithms.

Pieces of work include:

 - https://github.com/scikit-learn/scikit-learn/pull/22134
 - https://github.com/scikit-learn/scikit-learn/pull/22320
 - https://github.com/scikit-learn/scikit-learn/pull/23865
 - Support sparse-dense data-sets pairs:
   - https://github.com/scikit-learn/scikit-learn/pull/23604
   - https://github.com/scikit-learn/scikit-learn/pull/23585
   - https://github.com/scikit-learn/scikit-learn/pull/24807 by @Vincent-Maladiere
   - https://github.com/scikit-learn/scikit-learn/pull/24556 by @Vincent-Maladiere
   - https://github.com/scikit-learn/scikit-learn/pull/25044
 - https://github.com/scikit-learn/scikit-learn/pull/22829
 - https://github.com/scikit-learn/scikit-learn/pull/23978
 - #24043
 - Document and communicate about the changes of behaviour regarding `n_jobs`:
   - #24997
   - Add a comment in impacted user-facing `PairwiseDistancesReductions`-backed API's doc-strings regarding the non-use of `n_jobs`
 - Dedicated ASV benchmark suite: [`scikit-learn/pairwise-distances-reductions-asv-suite`](https://github.com/scikit-learn/pairwise-distances-reductions-asv-suite)


Note that this needs not be personal work, I would be really glad having others help on this subject, proposing changes and implementations! :slightly_smiling_face:

COMMENT:
What is are the missing pieces to close this issue?
- [x] #24076
- [ ] #25561
- [ ] #25097

I would open dedicated issues for "Subsequent work".

Labels: Performance, cython, Meta-issue
PERF `PairwiseDistancesReductions` initial work

`PairwiseDistancesReductions` have been introduced as a hierarchy of Cython classes to implement back-ends of some scikit-learn algorithms.

Pieces of work include:

 - https://github.com/scikit-learn/scikit-learn/pull/22134
 - https://github.com/scikit-learn/scikit-learn/pull/22320
 - https://github.com/scikit-learn/scikit-learn/pull/23865
 - Support sparse-dense data-sets pairs:
   - https://github.com/scikit-learn/scikit-learn/pull/23604
   - https://github.com/scikit-learn/scikit-learn/pull/23585
   - https://github.com/scikit-learn/scikit-learn/pull/24807 by @Vincent-Maladiere
   - https://github.com/scikit-learn/scikit-learn/pull/24556 by @Vincent-Maladiere
   - https://github.com/scikit-learn/scikit-learn/pull/25044
 - https://github.com/scikit-learn/scikit-learn/pull/22829
 - https://github.com/scikit-learn/scikit-learn/pull/23978
 - #24043
 - Document and communicate about the changes of behaviour regarding `n_jobs`:
   - #24997
   - Add a comment in impacted user-facing `PairwiseDistancesReductions`-backed API's doc-strings regarding the non-use of `n_jobs`
 - Dedicated ASV benchmark suite: [`scikit-learn/pairwise-distances-reductions-asv-suite`](https://github.com/scikit-learn/pairwise-distances-reductions-asv-suite)


Note that this needs not be personal work, I would be really glad having others help on this subject, proposing changes and implementations! :slightly_smiling_face:

COMMENT:
The two first are waiting for reviewers or authors to follow-up.

The third necessitates a stable efficient simultaneous sorting algorithm, and I think might better be reviewed after https://github.com/scikit-learn/scikit-learn/pull/25606.

Labels: Performance, cython, Meta-issue
PERF `PairwiseDistancesReductions` initial work

`PairwiseDistancesReductions` have been introduced as a hierarchy of Cython classes to implement back-ends of some scikit-learn algorithms.

Pieces of work include:

 - https://github.com/scikit-learn/scikit-learn/pull/22134
 - https://github.com/scikit-learn/scikit-learn/pull/22320
 - https://github.com/scikit-learn/scikit-learn/pull/23865
 - Support sparse-dense data-sets pairs:
   - https://github.com/scikit-learn/scikit-learn/pull/23604
   - https://github.com/scikit-learn/scikit-learn/pull/23585
   - https://github.com/scikit-learn/scikit-learn/pull/24807 by @Vincent-Maladiere
   - https://github.com/scikit-learn/scikit-learn/pull/24556 by @Vincent-Maladiere
   - https://github.com/scikit-learn/scikit-learn/pull/25044
 - https://github.com/scikit-learn/scikit-learn/pull/22829
 - https://github.com/scikit-learn/scikit-learn/pull/23978
 - #24043
 - Document and communicate about the changes of behaviour regarding `n_jobs`:
   - #24997
   - Add a comment in impacted user-facing `PairwiseDistancesReductions`-backed API's doc-strings regarding the non-use of `n_jobs`
 - Dedicated ASV benchmark suite: [`scikit-learn/pairwise-distances-reductions-asv-suite`](https://github.com/scikit-learn/pairwise-distances-reductions-asv-suite)


Note that this needs not be personal work, I would be really glad having others help on this subject, proposing changes and implementations! :slightly_smiling_face:

COMMENT:
@lorentzenchr: I have adapted the description of this issue and have opened https://github.com/scikit-learn/scikit-learn/issues/25888, so that this issue can be closed. What do you think?

Labels: Performance, cython, Meta-issue
PERF `PairwiseDistancesReductions` initial work

`PairwiseDistancesReductions` have been introduced as a hierarchy of Cython classes to implement back-ends of some scikit-learn algorithms.

Pieces of work include:

 - https://github.com/scikit-learn/scikit-learn/pull/22134
 - https://github.com/scikit-learn/scikit-learn/pull/22320
 - https://github.com/scikit-learn/scikit-learn/pull/23865
 - Support sparse-dense data-sets pairs:
   - https://github.com/scikit-learn/scikit-learn/pull/23604
   - https://github.com/scikit-learn/scikit-learn/pull/23585
   - https://github.com/scikit-learn/scikit-learn/pull/24807 by @Vincent-Maladiere
   - https://github.com/scikit-learn/scikit-learn/pull/24556 by @Vincent-Maladiere
   - https://github.com/scikit-learn/scikit-learn/pull/25044
 - https://github.com/scikit-learn/scikit-learn/pull/22829
 - https://github.com/scikit-learn/scikit-learn/pull/23978
 - #24043
 - Document and communicate about the changes of behaviour regarding `n_jobs`:
   - #24997
   - Add a comment in impacted user-facing `PairwiseDistancesReductions`-backed API's doc-strings regarding the non-use of `n_jobs`
 - Dedicated ASV benchmark suite: [`scikit-learn/pairwise-distances-reductions-asv-suite`](https://github.com/scikit-learn/pairwise-distances-reductions-asv-suite)


Note that this needs not be personal work, I would be really glad having others help on this subject, proposing changes and implementations! :slightly_smiling_face:

COMMENT:
Sounds good to me. Let's close to use new issues with shorter comment histories for subsequent work.

Labels: Performance, cython, Meta-issue
PERF `PairwiseDistancesReductions` initial work

`PairwiseDistancesReductions` have been introduced as a hierarchy of Cython classes to implement back-ends of some scikit-learn algorithms.

Pieces of work include:

 - https://github.com/scikit-learn/scikit-learn/pull/22134
 - https://github.com/scikit-learn/scikit-learn/pull/22320
 - https://github.com/scikit-learn/scikit-learn/pull/23865
 - Support sparse-dense data-sets pairs:
   - https://github.com/scikit-learn/scikit-learn/pull/23604
   - https://github.com/scikit-learn/scikit-learn/pull/23585
   - https://github.com/scikit-learn/scikit-learn/pull/24807 by @Vincent-Maladiere
   - https://github.com/scikit-learn/scikit-learn/pull/24556 by @Vincent-Maladiere
   - https://github.com/scikit-learn/scikit-learn/pull/25044
 - https://github.com/scikit-learn/scikit-learn/pull/22829
 - https://github.com/scikit-learn/scikit-learn/pull/23978
 - #24043
 - Document and communicate about the changes of behaviour regarding `n_jobs`:
   - #24997
   - Add a comment in impacted user-facing `PairwiseDistancesReductions`-backed API's doc-strings regarding the non-use of `n_jobs`
 - Dedicated ASV benchmark suite: [`scikit-learn/pairwise-distances-reductions-asv-suite`](https://github.com/scikit-learn/pairwise-distances-reductions-asv-suite)


Note that this needs not be personal work, I would be really glad having others help on this subject, proposing changes and implementations! :slightly_smiling_face:

COMMENT:
Thanks to every author and reviewer involved!

Labels: Performance, cython, Meta-issue
Fix Axes3D matplotlib deprecation warning in examples

See in #22547

```
MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6.  This is consistent with other Axes classes
```

We need to replace a line like this:
```py
ax = Axes3D(fig, elev=elev, azim=azim, rect=[0, 0, 0.95, 1])
```

by:
```py
ax = fig.add_subplot(111, projection="3d", elev=elev, azim=azim)
ax.set_position([0, 0, 0.95, 1])
```

For matplotlib < 3.2 (matplotlib 3.1.2 is our minimum supported version of matplotlib) we need to have this import:
```py
# unused but required import for doing 3d projections with matplotlib < 3.2
import mpl_toolkits.mplot3d  # noqa: F401
```
see https://github.com/scikit-learn/scikit-learn/pull/22594#issuecomment-1050127303 for more details.

### List of examples affected 
through `git grep Axes3D examples`:
- [x] examples/cluster/plot_cluster_iris.py #22594
- [x] examples/cluster/plot_ward_structured_vs_unstructured.py #22631
- [x] examples/datasets/plot_iris_dataset.py #22640
- [x] examples/decomposition/plot_pca_3d.py #22591
- [x] examples/decomposition/plot_pca_iris.py #22622
- [x] examples/inspection/plot_partial_dependence.py #22654
- [x] examples/manifold/plot_compare_methods.py done as part of #22679
- [ ] examples/manifold/plot_manifold_sphere.py

### If you are interested to work on this issue

- mention in a comment which file you want to work on, so that different people can work on this issue in parallel
- open a PR changing only this file

COMMENT:
Please assign the problem to me. Will try my best for sure ;)

Labels: Documentation, good first issue, help wanted, Meta-issue
Fix Axes3D matplotlib deprecation warning in examples

See in #22547

```
MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6.  This is consistent with other Axes classes
```

We need to replace a line like this:
```py
ax = Axes3D(fig, elev=elev, azim=azim, rect=[0, 0, 0.95, 1])
```

by:
```py
ax = fig.add_subplot(111, projection="3d", elev=elev, azim=azim)
ax.set_position([0, 0, 0.95, 1])
```

For matplotlib < 3.2 (matplotlib 3.1.2 is our minimum supported version of matplotlib) we need to have this import:
```py
# unused but required import for doing 3d projections with matplotlib < 3.2
import mpl_toolkits.mplot3d  # noqa: F401
```
see https://github.com/scikit-learn/scikit-learn/pull/22594#issuecomment-1050127303 for more details.

### List of examples affected 
through `git grep Axes3D examples`:
- [x] examples/cluster/plot_cluster_iris.py #22594
- [x] examples/cluster/plot_ward_structured_vs_unstructured.py #22631
- [x] examples/datasets/plot_iris_dataset.py #22640
- [x] examples/decomposition/plot_pca_3d.py #22591
- [x] examples/decomposition/plot_pca_iris.py #22622
- [x] examples/inspection/plot_partial_dependence.py #22654
- [x] examples/manifold/plot_compare_methods.py done as part of #22679
- [ ] examples/manifold/plot_manifold_sphere.py

### If you are interested to work on this issue

- mention in a comment which file you want to work on, so that different people can work on this issue in parallel
- open a PR changing only this file

COMMENT:
Hi, I think it is best if you chose one of the files and start working on a PR modifying only this file. Mention which file you are working on so that different people can work on this issue in parallel!

Labels: Documentation, good first issue, help wanted, Meta-issue
Fix Axes3D matplotlib deprecation warning in examples

See in #22547

```
MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6.  This is consistent with other Axes classes
```

We need to replace a line like this:
```py
ax = Axes3D(fig, elev=elev, azim=azim, rect=[0, 0, 0.95, 1])
```

by:
```py
ax = fig.add_subplot(111, projection="3d", elev=elev, azim=azim)
ax.set_position([0, 0, 0.95, 1])
```

For matplotlib < 3.2 (matplotlib 3.1.2 is our minimum supported version of matplotlib) we need to have this import:
```py
# unused but required import for doing 3d projections with matplotlib < 3.2
import mpl_toolkits.mplot3d  # noqa: F401
```
see https://github.com/scikit-learn/scikit-learn/pull/22594#issuecomment-1050127303 for more details.

### List of examples affected 
through `git grep Axes3D examples`:
- [x] examples/cluster/plot_cluster_iris.py #22594
- [x] examples/cluster/plot_ward_structured_vs_unstructured.py #22631
- [x] examples/datasets/plot_iris_dataset.py #22640
- [x] examples/decomposition/plot_pca_3d.py #22591
- [x] examples/decomposition/plot_pca_iris.py #22622
- [x] examples/inspection/plot_partial_dependence.py #22654
- [x] examples/manifold/plot_compare_methods.py done as part of #22679
- [ ] examples/manifold/plot_manifold_sphere.py

### If you are interested to work on this issue

- mention in a comment which file you want to work on, so that different people can work on this issue in parallel
- open a PR changing only this file

COMMENT:
working on `examples/decomposition/plot_pca_3d.py`

Labels: Documentation, good first issue, help wanted, Meta-issue
Fix Axes3D matplotlib deprecation warning in examples

See in #22547

```
MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6.  This is consistent with other Axes classes
```

We need to replace a line like this:
```py
ax = Axes3D(fig, elev=elev, azim=azim, rect=[0, 0, 0.95, 1])
```

by:
```py
ax = fig.add_subplot(111, projection="3d", elev=elev, azim=azim)
ax.set_position([0, 0, 0.95, 1])
```

For matplotlib < 3.2 (matplotlib 3.1.2 is our minimum supported version of matplotlib) we need to have this import:
```py
# unused but required import for doing 3d projections with matplotlib < 3.2
import mpl_toolkits.mplot3d  # noqa: F401
```
see https://github.com/scikit-learn/scikit-learn/pull/22594#issuecomment-1050127303 for more details.

### List of examples affected 
through `git grep Axes3D examples`:
- [x] examples/cluster/plot_cluster_iris.py #22594
- [x] examples/cluster/plot_ward_structured_vs_unstructured.py #22631
- [x] examples/datasets/plot_iris_dataset.py #22640
- [x] examples/decomposition/plot_pca_3d.py #22591
- [x] examples/decomposition/plot_pca_iris.py #22622
- [x] examples/inspection/plot_partial_dependence.py #22654
- [x] examples/manifold/plot_compare_methods.py done as part of #22679
- [ ] examples/manifold/plot_manifold_sphere.py

### If you are interested to work on this issue

- mention in a comment which file you want to work on, so that different people can work on this issue in parallel
- open a PR changing only this file

COMMENT:
working on `examples/manifold/plot_compare_methods.py`

Labels: Documentation, good first issue, help wanted, Meta-issue
Fix Axes3D matplotlib deprecation warning in examples

See in #22547

```
MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6.  This is consistent with other Axes classes
```

We need to replace a line like this:
```py
ax = Axes3D(fig, elev=elev, azim=azim, rect=[0, 0, 0.95, 1])
```

by:
```py
ax = fig.add_subplot(111, projection="3d", elev=elev, azim=azim)
ax.set_position([0, 0, 0.95, 1])
```

For matplotlib < 3.2 (matplotlib 3.1.2 is our minimum supported version of matplotlib) we need to have this import:
```py
# unused but required import for doing 3d projections with matplotlib < 3.2
import mpl_toolkits.mplot3d  # noqa: F401
```
see https://github.com/scikit-learn/scikit-learn/pull/22594#issuecomment-1050127303 for more details.

### List of examples affected 
through `git grep Axes3D examples`:
- [x] examples/cluster/plot_cluster_iris.py #22594
- [x] examples/cluster/plot_ward_structured_vs_unstructured.py #22631
- [x] examples/datasets/plot_iris_dataset.py #22640
- [x] examples/decomposition/plot_pca_3d.py #22591
- [x] examples/decomposition/plot_pca_iris.py #22622
- [x] examples/inspection/plot_partial_dependence.py #22654
- [x] examples/manifold/plot_compare_methods.py done as part of #22679
- [ ] examples/manifold/plot_manifold_sphere.py

### If you are interested to work on this issue

- mention in a comment which file you want to work on, so that different people can work on this issue in parallel
- open a PR changing only this file

COMMENT:
I'll work on ` examples/cluster/plot_cluster_iris.py`

Labels: Documentation, good first issue, help wanted, Meta-issue
Fix Axes3D matplotlib deprecation warning in examples

See in #22547

```
MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6.  This is consistent with other Axes classes
```

We need to replace a line like this:
```py
ax = Axes3D(fig, elev=elev, azim=azim, rect=[0, 0, 0.95, 1])
```

by:
```py
ax = fig.add_subplot(111, projection="3d", elev=elev, azim=azim)
ax.set_position([0, 0, 0.95, 1])
```

For matplotlib < 3.2 (matplotlib 3.1.2 is our minimum supported version of matplotlib) we need to have this import:
```py
# unused but required import for doing 3d projections with matplotlib < 3.2
import mpl_toolkits.mplot3d  # noqa: F401
```
see https://github.com/scikit-learn/scikit-learn/pull/22594#issuecomment-1050127303 for more details.

### List of examples affected 
through `git grep Axes3D examples`:
- [x] examples/cluster/plot_cluster_iris.py #22594
- [x] examples/cluster/plot_ward_structured_vs_unstructured.py #22631
- [x] examples/datasets/plot_iris_dataset.py #22640
- [x] examples/decomposition/plot_pca_3d.py #22591
- [x] examples/decomposition/plot_pca_iris.py #22622
- [x] examples/inspection/plot_partial_dependence.py #22654
- [x] examples/manifold/plot_compare_methods.py done as part of #22679
- [ ] examples/manifold/plot_manifold_sphere.py

### If you are interested to work on this issue

- mention in a comment which file you want to work on, so that different people can work on this issue in parallel
- open a PR changing only this file

COMMENT:
Working on `examples/decomposition/plot_pca_iris.py`

Labels: Documentation, good first issue, help wanted, Meta-issue
Fix Axes3D matplotlib deprecation warning in examples

See in #22547

```
MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6.  This is consistent with other Axes classes
```

We need to replace a line like this:
```py
ax = Axes3D(fig, elev=elev, azim=azim, rect=[0, 0, 0.95, 1])
```

by:
```py
ax = fig.add_subplot(111, projection="3d", elev=elev, azim=azim)
ax.set_position([0, 0, 0.95, 1])
```

For matplotlib < 3.2 (matplotlib 3.1.2 is our minimum supported version of matplotlib) we need to have this import:
```py
# unused but required import for doing 3d projections with matplotlib < 3.2
import mpl_toolkits.mplot3d  # noqa: F401
```
see https://github.com/scikit-learn/scikit-learn/pull/22594#issuecomment-1050127303 for more details.

### List of examples affected 
through `git grep Axes3D examples`:
- [x] examples/cluster/plot_cluster_iris.py #22594
- [x] examples/cluster/plot_ward_structured_vs_unstructured.py #22631
- [x] examples/datasets/plot_iris_dataset.py #22640
- [x] examples/decomposition/plot_pca_3d.py #22591
- [x] examples/decomposition/plot_pca_iris.py #22622
- [x] examples/inspection/plot_partial_dependence.py #22654
- [x] examples/manifold/plot_compare_methods.py done as part of #22679
- [ ] examples/manifold/plot_manifold_sphere.py

### If you are interested to work on this issue

- mention in a comment which file you want to work on, so that different people can work on this issue in parallel
- open a PR changing only this file

COMMENT:
Working on `examples/cluster/plot_ward_structured_vs_unstructured.py`

Labels: Documentation, good first issue, help wanted, Meta-issue
Fix Axes3D matplotlib deprecation warning in examples

See in #22547

```
MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure is deprecated since 3.4. Pass the keyword argument auto_add_to_figure=False and use fig.add_axes(ax) to suppress this warning. The default value of auto_add_to_figure will change to False in mpl3.5 and True values will no longer work in 3.6.  This is consistent with other Axes classes
```

We need to replace a line like this:
```py
ax = Axes3D(fig, elev=elev, azim=azim, rect=[0, 0, 0.95, 1])
```

by:
```py
ax = fig.add_subplot(111, projection="3d", elev=elev, azim=azim)
ax.set_position([0, 0, 0.95, 1])
```

For matplotlib < 3.2 (matplotlib 3.1.2 is our minimum supported version of matplotlib) we need to have this import:
```py
# unused but required import for doing 3d projections with matplotlib < 3.2
import mpl_toolkits.mplot3d  # noqa: F401
```
see https://github.com/scikit-learn/scikit-learn/pull/22594#issuecomment-1050127303 for more details.

### List of examples affected 
through `git grep Axes3D examples`:
- [x] examples/cluster/plot_cluster_iris.py #22594
- [x] examples/cluster/plot_ward_structured_vs_unstructured.py #22631
- [x] examples/datasets/plot_iris_dataset.py #22640
- [x] examples/decomposition/plot_pca_3d.py #22591
- [x] examples/decomposition/plot_pca_iris.py #22622
- [x] examples/inspection/plot_partial_dependence.py #22654
- [x] examples/manifold/plot_compare_methods.py done as part of #22679
- [ ] examples/manifold/plot_manifold_sphere.py

### If you are interested to work on this issue

- mention in a comment which file you want to work on, so that different people can work on this issue in parallel
- open a PR changing only this file

COMMENT:
Working on examples/inspection/plot_partial_dependence.py

Labels: Documentation, good first issue, help wanted, Meta-issue