Talip7/scikit-learn-issues-multilabel huggingface dataset:
Create a process for releasing a wheel for a new Python version with a previous sklearn version on CI

For version 1.5.2, the wheels were not updated from the CI, but from an API key. Moving forward, I think we should update our CI to allow us to push specific python versions. I propose this process:

1. **Prerequisite**: Python 3.14rc support added to `cibuildwheel` + `numpy` & `scipy` has wheels for it
2. Update `build_tools/cirrus/arm_wheel.yml` and `.github/workflows/wheels.yml` to support the new version on `1.X.X` branch
3. Trigger `.github/workflows/publish_pypi.yml` (`workflow_run`) with a specific python version which will only upload wheels for that python version.

These are the tasks I see:

- **Required**: Update `.github/workflows/publish_pypi.yml` to accept a specific python version and only upload that python version.
- **Nice to have, but not required**: `build_tools/cirrus/arm_wheel.yml` and `.github/workflows/wheels.yml` to only build wheels for a specific python version.

CC @lesteve

COMMENT:
Just to say I have seen this, I agree would kind of be nice to have a less manual process than what we did for Python 3.13, but (managing expectations) I am not planning to work on it in the near future :sweat_smile:. Next time we will need this is likely September 2025 to prepare for Python 3.14 release.

Your plan sounds reasonable, here are my current thoughts:
1. is generally is doable and we kind of do it already. This generally means relying on numpy and scipy development wheel which complicates temporarily the CI scripts and can be a bit more brittle than using released versions but that's probably fine.
2. is probably the most time-consuming, because the CI may have been updated in `main` and you may need a bit of work to back-port everything in your release branch. This may be less painful for wheels since they don't use lock files but there could still be a few conflicts to solve. The good thing is that it is probably a lot less painful that doing a bugfix release only to have wheels for the soon to be released Python version.
3. seems doable, do we want some input about the number of wheels you are expected to upload as a sanity check to prevent mess-ups? You only have one shot at uploading a Python 3.14 wheel for a given Python version + OS + ABI tags, so if you mess something up you probably need to do a new bugfix release [^1]. Maybe there is a special case for free-threaded, if you say Python 3.13 do you mean free-threaded too, could there be some free-threaded related issues. Probably YAGNI, but I imagine you could type something like `cp314-cp314-` if you explicitly want only vanilla CPython 3.14 wheels and `cp314-cp314t-` if you explicitly want CPython 3.14 free-threaded only. 


[^1]: or use the pip build number but apparently that was painful to use last time Olivier did it

Labels: Build / CI
Create a process for releasing a wheel for a new Python version with a previous sklearn version on CI

For version 1.5.2, the wheels were not updated from the CI, but from an API key. Moving forward, I think we should update our CI to allow us to push specific python versions. I propose this process:

1. **Prerequisite**: Python 3.14rc support added to `cibuildwheel` + `numpy` & `scipy` has wheels for it
2. Update `build_tools/cirrus/arm_wheel.yml` and `.github/workflows/wheels.yml` to support the new version on `1.X.X` branch
3. Trigger `.github/workflows/publish_pypi.yml` (`workflow_run`) with a specific python version which will only upload wheels for that python version.

These are the tasks I see:

- **Required**: Update `.github/workflows/publish_pypi.yml` to accept a specific python version and only upload that python version.
- **Nice to have, but not required**: `build_tools/cirrus/arm_wheel.yml` and `.github/workflows/wheels.yml` to only build wheels for a specific python version.

CC @lesteve

COMMENT:
> do we want some input about the number of wheels you are expected to upload as a sanity check to prevent mess-ups

We currently use https://github.com/scikit-learn/scikit-learn/blob/main/build_tools/github/check_wheels.py which computes the number of expected artifacts. If we can get this working with a specific python version (or tag prefix), then I'll prefer that.

Labels: Build / CI
Crying emoticon in "Choosing the right estimator" does not work for most audiences

### Describe the issue linked to the documentation

Contrast https://github.com/scikit-learn/scikit-learn/blob/main/doc/images/ml_map.svg which uses a crying emoticon with previous versions where it said "Not Working" and were easier to understand. 

I teach a brief class on Machine Learning Crying on a weekly basis and have always used "Choosing the right estimator" diagram to illustrate the typical high-level process that a data scientist goes through when picking the best algorithm for their problem, and how it leads to the need of automl and hyperparameter fine tuning. This has always worked well. However, more recently there has been a change where the words "Not working" were replaced by a "crying" emoticon. At first glance, no students in class understand what that means, even younger audiences. I have to magnify it, so they see what it actually is. And when I explain it, they find it awkward. 

### Suggest a potential alternative/fix

Possible solutions:
1) Replace the crying emoticon back with text. It does not have to be "Not Working", it could be something else such as "needs improvement" or
2) Replace the crying emoticon with the Hammer and Wrench emoji: https://emojiguide.org/hammer-and-wrench. Add a legend to the picture stating that it means "not working", "needs improvement", "more work needed". At least this emoji would be more emotionally neutral and would not be perceived as "awkward".
3) At least add a legend explaining that the crying emoticon means "not working", "needs improvement", "more work needed".

COMMENT:
I think the proposed solution is already implemented, as we've already explained the meaning of the crying emoji in the [cheat sheet](https://scikit-learn.org/1.5/machine_learning_map.html):

<img width="536" alt="Screenshot 2024-11-17 224518" src="https://github.com/user-attachments/assets/27871cea-e35c-4ddb-a7b0-c8dfe1eb78b5">

Labels: Documentation
Crying emoticon in "Choosing the right estimator" does not work for most audiences

### Describe the issue linked to the documentation

Contrast https://github.com/scikit-learn/scikit-learn/blob/main/doc/images/ml_map.svg which uses a crying emoticon with previous versions where it said "Not Working" and were easier to understand. 

I teach a brief class on Machine Learning Crying on a weekly basis and have always used "Choosing the right estimator" diagram to illustrate the typical high-level process that a data scientist goes through when picking the best algorithm for their problem, and how it leads to the need of automl and hyperparameter fine tuning. This has always worked well. However, more recently there has been a change where the words "Not working" were replaced by a "crying" emoticon. At first glance, no students in class understand what that means, even younger audiences. I have to magnify it, so they see what it actually is. And when I explain it, they find it awkward. 

### Suggest a potential alternative/fix

Possible solutions:
1) Replace the crying emoticon back with text. It does not have to be "Not Working", it could be something else such as "needs improvement" or
2) Replace the crying emoticon with the Hammer and Wrench emoji: https://emojiguide.org/hammer-and-wrench. Add a legend to the picture stating that it means "not working", "needs improvement", "more work needed". At least this emoji would be more emotionally neutral and would not be perceived as "awkward".
3) At least add a legend explaining that the crying emoticon means "not working", "needs improvement", "more work needed".

COMMENT:
Some I'm leaning towards closing this issue for the moment.

I think that there is another issue where it was discussed to update this map. When it happens, I would be willing to think of a better graphic cues.

Labels: Documentation
Crying emoticon in "Choosing the right estimator" does not work for most audiences

### Describe the issue linked to the documentation

Contrast https://github.com/scikit-learn/scikit-learn/blob/main/doc/images/ml_map.svg which uses a crying emoticon with previous versions where it said "Not Working" and were easier to understand. 

I teach a brief class on Machine Learning Crying on a weekly basis and have always used "Choosing the right estimator" diagram to illustrate the typical high-level process that a data scientist goes through when picking the best algorithm for their problem, and how it leads to the need of automl and hyperparameter fine tuning. This has always worked well. However, more recently there has been a change where the words "Not working" were replaced by a "crying" emoticon. At first glance, no students in class understand what that means, even younger audiences. I have to magnify it, so they see what it actually is. And when I explain it, they find it awkward. 

### Suggest a potential alternative/fix

Possible solutions:
1) Replace the crying emoticon back with text. It does not have to be "Not Working", it could be something else such as "needs improvement" or
2) Replace the crying emoticon with the Hammer and Wrench emoji: https://emojiguide.org/hammer-and-wrench. Add a legend to the picture stating that it means "not working", "needs improvement", "more work needed". At least this emoji would be more emotionally neutral and would not be perceived as "awkward".
3) At least add a legend explaining that the crying emoticon means "not working", "needs improvement", "more work needed".

COMMENT:
@glemaitre, it might be #30076.

Labels: Documentation
Crying emoticon in "Choosing the right estimator" does not work for most audiences

### Describe the issue linked to the documentation

Contrast https://github.com/scikit-learn/scikit-learn/blob/main/doc/images/ml_map.svg which uses a crying emoticon with previous versions where it said "Not Working" and were easier to understand. 

I teach a brief class on Machine Learning Crying on a weekly basis and have always used "Choosing the right estimator" diagram to illustrate the typical high-level process that a data scientist goes through when picking the best algorithm for their problem, and how it leads to the need of automl and hyperparameter fine tuning. This has always worked well. However, more recently there has been a change where the words "Not working" were replaced by a "crying" emoticon. At first glance, no students in class understand what that means, even younger audiences. I have to magnify it, so they see what it actually is. And when I explain it, they find it awkward. 

### Suggest a potential alternative/fix

Possible solutions:
1) Replace the crying emoticon back with text. It does not have to be "Not Working", it could be something else such as "needs improvement" or
2) Replace the crying emoticon with the Hammer and Wrench emoji: https://emojiguide.org/hammer-and-wrench. Add a legend to the picture stating that it means "not working", "needs improvement", "more work needed". At least this emoji would be more emotionally neutral and would not be perceived as "awkward".
3) At least add a legend explaining that the crying emoticon means "not working", "needs improvement", "more work needed".

COMMENT:
I am OK with any solution, thank you for the attention. It looks like that the emoji has been explained in a future version to be released, and I like the explanation, though some of my students would prefer the symbol itself to be replaced by something more neutral.

One thing I personally see but did not mention is that since the crying emoji is partially yellow, it mixes with the background in the Classification section, but now that we will have the explanation it will be easier to understand.

Thank you!
________________________________
From: Virgil Chan ***@***.***>
Sent: Monday, November 18, 2024 8:01 AM
To: scikit-learn/scikit-learn ***@***.***>
Cc: clementinodemendonca ***@***.***>; Author ***@***.***>
Subject: Re: [scikit-learn/scikit-learn] Crying emoticon in "Choosing the right estimator" does not work for most audiences (Issue #30283)


@glemaitre<https://github.com/glemaitre>, it might be #30076<https://github.com/scikit-learn/scikit-learn/issues/30076>.

—
Reply to this email directly, view it on GitHub<https://github.com/scikit-learn/scikit-learn/issues/30283#issuecomment-2483133396>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ADEEAXJHFN5MX2C5NYUQIB32BHXKZAVCNFSM6AAAAABR3OKGEWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBTGEZTGMZZGY>.
You are receiving this because you authored the thread.Message ID: ***@***.***>

Labels: Documentation
Crying emoticon in "Choosing the right estimator" does not work for most audiences

### Describe the issue linked to the documentation

Contrast https://github.com/scikit-learn/scikit-learn/blob/main/doc/images/ml_map.svg which uses a crying emoticon with previous versions where it said "Not Working" and were easier to understand. 

I teach a brief class on Machine Learning Crying on a weekly basis and have always used "Choosing the right estimator" diagram to illustrate the typical high-level process that a data scientist goes through when picking the best algorithm for their problem, and how it leads to the need of automl and hyperparameter fine tuning. This has always worked well. However, more recently there has been a change where the words "Not working" were replaced by a "crying" emoticon. At first glance, no students in class understand what that means, even younger audiences. I have to magnify it, so they see what it actually is. And when I explain it, they find it awkward. 

### Suggest a potential alternative/fix

Possible solutions:
1) Replace the crying emoticon back with text. It does not have to be "Not Working", it could be something else such as "needs improvement" or
2) Replace the crying emoticon with the Hammer and Wrench emoji: https://emojiguide.org/hammer-and-wrench. Add a legend to the picture stating that it means "not working", "needs improvement", "more work needed". At least this emoji would be more emotionally neutral and would not be perceived as "awkward".
3) At least add a legend explaining that the crying emoticon means "not working", "needs improvement", "more work needed".

COMMENT:
It would be slightly nicer if the chart is kind of stand-alone, rather than needing legend explaining what the emoticon means ...

What about using "Try next" instead of the emoticon? I had a quick go at it on draw.io. I opened https://github.com/scikit-learn/scikit-learn/pull/30347. The advantage  of "Try next" is that it is shorter than "Not working" and as things currently stands spacing is a bit limited to make the label fit inside the arrow.

![image](https://github.com/user-attachments/assets/a876a80e-6e69-4122-92df-82fe1094f565)

See the [svg](https://raw.githubusercontent.com/lesteve/drawio-playground/refs/heads/main/ml_map.svg) version.

I am guessing that the emoticon :sob: was used to be compact but maybe @Charlie-XIAO or @adrinjalali remembers more? For this to fit, I had to move boxes around a bit.

Side-comment: orange "try next" arrow generally means here is another estimator you can try, but sometimes means a special case.:
- "you have text data"
- "you have more than 10k samples"

I guess the latter can be dealt with separately.

Labels: Documentation
Crying emoticon in "Choosing the right estimator" does not work for most audiences

### Describe the issue linked to the documentation

Contrast https://github.com/scikit-learn/scikit-learn/blob/main/doc/images/ml_map.svg which uses a crying emoticon with previous versions where it said "Not Working" and were easier to understand. 

I teach a brief class on Machine Learning Crying on a weekly basis and have always used "Choosing the right estimator" diagram to illustrate the typical high-level process that a data scientist goes through when picking the best algorithm for their problem, and how it leads to the need of automl and hyperparameter fine tuning. This has always worked well. However, more recently there has been a change where the words "Not working" were replaced by a "crying" emoticon. At first glance, no students in class understand what that means, even younger audiences. I have to magnify it, so they see what it actually is. And when I explain it, they find it awkward. 

### Suggest a potential alternative/fix

Possible solutions:
1) Replace the crying emoticon back with text. It does not have to be "Not Working", it could be something else such as "needs improvement" or
2) Replace the crying emoticon with the Hammer and Wrench emoji: https://emojiguide.org/hammer-and-wrench. Add a legend to the picture stating that it means "not working", "needs improvement", "more work needed". At least this emoji would be more emotionally neutral and would not be perceived as "awkward".
3) At least add a legend explaining that the crying emoticon means "not working", "needs improvement", "more work needed".

COMMENT:
>> I think that there is another issue where it was discussed to update this map

> @glemaitre, it might be https://github.com/scikit-learn/scikit-learn/issues/30076.

@virchan just FYI, I think @glemaitre has in mind a general update of the map (~I don't think there is an issue for this yet,~ actually I found https://github.com/scikit-learn/scikit-learn/issues/7686 after a more thorough search), for example it does not mention some estimators we would recommend today like `HistGradientBoostingRegressor`/`Classifier`  or `LogisticRegression` and some other estimators would likely be mentioned less or not at all (candidates are `SVM`, `ElasticNet`, probably more ...). This requires getting consensus and finding the right tradeoffs between information accuracy and keeping it simple for the user. As such, it is probably not going to happen overnight.

For some more background, users and teachers mostly love this map, maintainers generally think this is somewhat too simplistic, which is part of the reason it hasn't been updated much since it was created probably more than 10 years ago.

Labels: Documentation
Crying emoticon in "Choosing the right estimator" does not work for most audiences

### Describe the issue linked to the documentation

Contrast https://github.com/scikit-learn/scikit-learn/blob/main/doc/images/ml_map.svg which uses a crying emoticon with previous versions where it said "Not Working" and were easier to understand. 

I teach a brief class on Machine Learning Crying on a weekly basis and have always used "Choosing the right estimator" diagram to illustrate the typical high-level process that a data scientist goes through when picking the best algorithm for their problem, and how it leads to the need of automl and hyperparameter fine tuning. This has always worked well. However, more recently there has been a change where the words "Not working" were replaced by a "crying" emoticon. At first glance, no students in class understand what that means, even younger audiences. I have to magnify it, so they see what it actually is. And when I explain it, they find it awkward. 

### Suggest a potential alternative/fix

Possible solutions:
1) Replace the crying emoticon back with text. It does not have to be "Not Working", it could be something else such as "needs improvement" or
2) Replace the crying emoticon with the Hammer and Wrench emoji: https://emojiguide.org/hammer-and-wrench. Add a legend to the picture stating that it means "not working", "needs improvement", "more work needed". At least this emoji would be more emotionally neutral and would not be perceived as "awkward".
3) At least add a legend explaining that the crying emoticon means "not working", "needs improvement", "more work needed".

COMMENT:
Indeed - I used the emoji because "Not working" did not fit in. I agree that having explicit text is better (I think many people won't even notice there's a legend) - "TRY NEXT", or maybe "NOT WORK"? We could also make the text more compact by not using bold font and not capitalizing the letters, etc.

Labels: Documentation
Crying emoticon in "Choosing the right estimator" does not work for most audiences

### Describe the issue linked to the documentation

Contrast https://github.com/scikit-learn/scikit-learn/blob/main/doc/images/ml_map.svg which uses a crying emoticon with previous versions where it said "Not Working" and were easier to understand. 

I teach a brief class on Machine Learning Crying on a weekly basis and have always used "Choosing the right estimator" diagram to illustrate the typical high-level process that a data scientist goes through when picking the best algorithm for their problem, and how it leads to the need of automl and hyperparameter fine tuning. This has always worked well. However, more recently there has been a change where the words "Not working" were replaced by a "crying" emoticon. At first glance, no students in class understand what that means, even younger audiences. I have to magnify it, so they see what it actually is. And when I explain it, they find it awkward. 

### Suggest a potential alternative/fix

Possible solutions:
1) Replace the crying emoticon back with text. It does not have to be "Not Working", it could be something else such as "needs improvement" or
2) Replace the crying emoticon with the Hammer and Wrench emoji: https://emojiguide.org/hammer-and-wrench. Add a legend to the picture stating that it means "not working", "needs improvement", "more work needed". At least this emoji would be more emotionally neutral and would not be perceived as "awkward".
3) At least add a legend explaining that the crying emoticon means "not working", "needs improvement", "more work needed".

COMMENT:
Thank you so much to all those that worked on this issue. The solution is perfect. Happy Thanksgiving you all of you.







________________________________
From: Yao Xiao ***@***.***>
Sent: Wednesday, November 27, 2024 12:50 AM
To: scikit-learn/scikit-learn ***@***.***>
Cc: clementinodemendonca ***@***.***>; Author ***@***.***>
Subject: Re: [scikit-learn/scikit-learn] Crying emoticon in "Choosing the right estimator" does not work for most audiences (Issue #30283)


Closed #30283<https://github.com/scikit-learn/scikit-learn/issues/30283> as completed via #30347<https://github.com/scikit-learn/scikit-learn/pull/30347>.

—
Reply to this email directly, view it on GitHub<https://github.com/scikit-learn/scikit-learn/issues/30283#event-15447772132>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ADEEAXL27XH7WBU3DRTQBLL2CVTRTAVCNFSM6AAAAABR3OKGEWVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJVGQ2DONZXGIYTGMQ>.
You are receiving this because you authored the thread.Message ID: ***@***.***>

Labels: Documentation