From ca03fbcbea11e861c7acbf6f64bc2e19bba5a009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9n=C3=A9lope=20Gittos?= Date: Mon, 30 Jun 2025 16:34:00 +0200 Subject: [PATCH 01/11] Announce skolar launch for the scikit-learn community --- _posts/2025-30-06-probabl-skolar.md | 141 ++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 _posts/2025-30-06-probabl-skolar.md diff --git a/_posts/2025-30-06-probabl-skolar.md b/_posts/2025-30-06-probabl-skolar.md new file mode 100644 index 0000000..0ebf4e2 --- /dev/null +++ b/_posts/2025-30-06-probabl-skolar.md @@ -0,0 +1,141 @@ +--- +#### Blog Post Template #### + +#### Post Information #### +title: "Changes and development of scikit-learn's developer API" +date: December 12, 2024 + +#### Post Category and Tags #### +# Format in titlecase without dashes (Ex. "Open Source" instead of "open-source") +categories: + - Updates +tags: + - Open Source + - Machine Learning + - License + +#### Featured Image #### +featured-image: BSD_watermark.svg + +#### Author Info #### +# Can accomodate multiple authors +# Add SQUARE Author Image to /assets/images/author_images/ folder +postauthors: + - name: Adrin Jalali + website: https://adrin.info/ + image: adrin-jalali.jpeg +--- +
+ + {% include postauthor.html %} +
+ +Historically, scikit-learn's API has been divided into public and private. Public API is +intended to be used by users, and private API is used internally in scikit-learn to +develop new features and estimators. However, many of those functionalities have become +essential to develop scikit-learn estimators by third parties who develop them outside +the scikit-learn codebase. + +When it comes to our public API, we have very strict and high standards on backward +compatibility. The rule of thumb is that no change should cause a change in users' +code unless we warn about it for two release cycles, which means we give users a year +time to update their code. + +On the other hand, we have no such guarantees or constraints on our private API. This +brings an issue to third party developers who would like to use methods used by +scikit-learn developers to develop their estimators. Constantly changing private API +without prior warning brings certain challenges to third party developers which is not +ideal. + +As a result, we've been working on creating a developer API which would sit somewhere +between our public and private API in terms of backward compatibility. That means we +intend to try to keep that API stable, and if needed, introduce changes with one release +cycle warning. + +In the past few releases, we've slowly introduced more functionalities under this +umbrella. `__sklearn_clone__` and `__sklearn_is_fitted__` are two examples. + +In the 1.6 release, we focused on the testing infrastructure and estimator tag system. +Estimator tags used to be private, and we were not sure about their design. In the 1.6 +release, new tags are introduced and using them looks like the following: + +```python +from sklearn.base import BaseEstimator, ClassifierMixin + +class MyEstimator(ClassifierMixin, BaseEstimator): + + ... + + def __sklearn_tags__(self): + tags = super().__sklearn_tags__() + # modify tags here + tags.non_deterministic = True + return tags +``` + +The new tags mostly follow the same structure as the old tags, but there are certain +changes to them. The main change is that the old `_xfail_checks` is no longer present +in the new tags. That tag was used to tell the common testing tools about the tests +which are known to fail and are to be skipped. That information is now directly passed +to the test functionalities. The old way of skipping a test was the following: + +```python +from sklearn.base import BaseEstimator, ClassifierMixin + +class MyEstimator(ClassifierMixin, BaseEstimator): + + ... + + def _more_tags(self): + return { + "_xfail_checks": { + "check_to_skip_name": "this check is known to fail", + ... + } + } +``` + +And then when calling `check_estimator` or using `parametrize_with_checks` with `pytest` +would automatically ignore those tests for the estimator. + +Instead, in this release, you pass that information directly to those methods: + +```python +from sklearn.utils.estimator_checks import check_estimator, parametrize_with_checks + +CHECKS_EXPECTED_TO_FAIL = { + "check_to_skip_name": "this check is known to fail", + ... +} + +# Using check_estimator +def test_with_check_estimator(): + check_estimator(MyEstimator(), expected_failed_checks=CHECKS_EXPECTED_TO_FAIL) + +# Using parametrize_with_checks +@parametrize_with_checks( + [MyEstimator()], + expected_failed_checks=lambda est: CHECKS_EXPECTED_TO_FAIL +) +def test_with_parametrize_with_checks(estimator, check): + check(estimator) +``` + +While working on the testing infrastructure, we have also been working on improving our +tests and that means in this release we had a particularly high number of changes in +their names and what they do. The changes will make it easier for developers to fix +issues with their estimators. Note that you can now pass `legacy=False` to both +`check_estimator` and `parametrize_with_checks` to include only strictly API related +tests. + +The above changes mean developers need to update their estimators and depending on +what they use, write scikit-learn version specific code to handle supporting multiple +scikit-learn versions. To make that process easier, we've worked on a package called +[`sklearn_compat`](https://github.com/sklearn-compat/sklearn-compat/). You can either +depend on it as a package dependency, or vendor a single file inside your project. At +the moment this project is in its infancy and might change in the future. But hopefully +it helps developers out there. + +If you think there are missing functionalities in the developer API, please let us know +and give us feedback on our [issue tracker]( +https://github.com/scikit-learn/scikit-learn/issues). From c24fecf44386dc77991f2a3eed4c5e9e6fed06e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9n=C3=A9lope=20Gittos?= Date: Mon, 30 Jun 2025 17:15:53 +0200 Subject: [PATCH 02/11] Push the right content --- _posts/2025-30-06-probabl-skolar.md | 122 ++++------------------------ 1 file changed, 14 insertions(+), 108 deletions(-) diff --git a/_posts/2025-30-06-probabl-skolar.md b/_posts/2025-30-06-probabl-skolar.md index 0ebf4e2..4a116b1 100644 --- a/_posts/2025-30-06-probabl-skolar.md +++ b/_posts/2025-30-06-probabl-skolar.md @@ -2,8 +2,8 @@ #### Blog Post Template #### #### Post Information #### -title: "Changes and development of scikit-learn's developer API" -date: December 12, 2024 +title: "Skolar: an open-source initiative to democratize open data science" +date: June 30, 2025 #### Post Category and Tags #### # Format in titlecase without dashes (Ex. "Open Source" instead of "open-source") @@ -12,7 +12,6 @@ categories: tags: - Open Source - Machine Learning - - License #### Featured Image #### featured-image: BSD_watermark.svg @@ -21,121 +20,28 @@ featured-image: BSD_watermark.svg # Can accomodate multiple authors # Add SQUARE Author Image to /assets/images/author_images/ folder postauthors: - - name: Adrin Jalali - website: https://adrin.info/ - image: adrin-jalali.jpeg + - name: Pénélope Gittos + website: https://www.linkedin.com/in/gittospenelope-data-analyst-growth-bilingual/ ---
{% include postauthor.html %}
+https://skolar.probabl.ai/ -Historically, scikit-learn's API has been divided into public and private. Public API is -intended to be used by users, and private API is used internally in scikit-learn to -develop new features and estimators. However, many of those functionalities have become -essential to develop scikit-learn estimators by third parties who develop them outside -the scikit-learn codebase. +The scikit-learn project always puts efforts on education to build and nurture a strong vibrant open-source community. The goal is straightforward: give everyone, everywhere, the tools they need to easily grasp, engage with, and meaningfully contribute to data science using open-source software. This mission is shared and actively supported by Probabl, a company that helps maintain scikit-learn by employing many of its core contributors and investing in its long-term sustainability. With their support and a deep commitment from the community, we continue building bridges between research, software, and education. -When it comes to our public API, we have very strict and high standards on backward -compatibility. The rule of thumb is that no change should cause a change in users' -code unless we warn about it for two release cycles, which means we give users a year -time to update their code. +When the [Inria scikit-learn MOOC](https://inria.github.io/scikit-learn-mooc/)(Massive Open Online Course) first went live, our community got a front-row seat to the amazing impact of practical, accessible and open learning. More than 40,000 people worldwide have jumped into these courses, clearly highlighting the demand for organized, hands-on resources that blend theory with real-world practice. -On the other hand, we have no such guarantees or constraints on our private API. This -brings an issue to third party developers who would like to use methods used by -scikit-learn developers to develop their estimators. Constantly changing private API -without prior warning brings certain challenges to third party developers which is not -ideal. +Today, [Probabl](https://probabl.ai/) is excited to introduce Skolar, a new, fully open-source educational initiative, built directly from your feedback and all the lessons we've learned along the way. Developed by the maintainers and core developers of scikit-learn, Skolar is designed specifically for data science practitioners, offering hands-on, high-quality learning resources grounded in real-world applications and open-source values. -As a result, we've been working on creating a developer API which would sit somewhere -between our public and private API in terms of backward compatibility. That means we -intend to try to keep that API stable, and if needed, introduce changes with one release -cycle warning. +Skolar exists to boost our shared values: openness, teamwork, and practicality. It offers clear, interactive tutorials and structured courses carefully designed to match industry challenges and specialized use-cases. But even more importantly, it captures the true spirit of open source: encouraging collaboration, peer-to-peer learning, and guidance from experts. -In the past few releases, we've slowly introduced more functionalities under this -umbrella. `__sklearn_clone__` and `__sklearn_is_fitted__` are two examples. +Right now, we’re just at the beginning. Today, you can dive into our Scikit-learn Associate Practitioner online course, adapted from the popular Inria MOOC but enhanced with new material on unsupervised learning, especially clustering. -In the 1.6 release, we focused on the testing infrastructure and estimator tag system. -Estimator tags used to be private, and we were not sure about their design. In the 1.6 -release, new tags are introduced and using them looks like the following: +The next stages, professional and expert levels, will launch soon. We’ll also add more courses covering other open-source libraries such as skrub (for data wrangling), hazardous (for survival analysis), and fairlearn (for fairness). Additionally, our scikit-learn team is planning to create industry-specific modules tackling real-world needs in fields like healthcare, finance, medicine, and beyond. -```python -from sklearn.base import BaseEstimator, ClassifierMixin +At its core, Skolar is about empowering people through education, driven entirely by our passion for openness and collaboration. We firmly believe that true open data science begins with community-built learning resources. +We warmly welcome you, whether you're a contributor, learner, teacher, or just someone curious, to join us. Help shape Skolar’s future and support open-source education in data science. -class MyEstimator(ClassifierMixin, BaseEstimator): - - ... - - def __sklearn_tags__(self): - tags = super().__sklearn_tags__() - # modify tags here - tags.non_deterministic = True - return tags -``` - -The new tags mostly follow the same structure as the old tags, but there are certain -changes to them. The main change is that the old `_xfail_checks` is no longer present -in the new tags. That tag was used to tell the common testing tools about the tests -which are known to fail and are to be skipped. That information is now directly passed -to the test functionalities. The old way of skipping a test was the following: - -```python -from sklearn.base import BaseEstimator, ClassifierMixin - -class MyEstimator(ClassifierMixin, BaseEstimator): - - ... - - def _more_tags(self): - return { - "_xfail_checks": { - "check_to_skip_name": "this check is known to fail", - ... - } - } -``` - -And then when calling `check_estimator` or using `parametrize_with_checks` with `pytest` -would automatically ignore those tests for the estimator. - -Instead, in this release, you pass that information directly to those methods: - -```python -from sklearn.utils.estimator_checks import check_estimator, parametrize_with_checks - -CHECKS_EXPECTED_TO_FAIL = { - "check_to_skip_name": "this check is known to fail", - ... -} - -# Using check_estimator -def test_with_check_estimator(): - check_estimator(MyEstimator(), expected_failed_checks=CHECKS_EXPECTED_TO_FAIL) - -# Using parametrize_with_checks -@parametrize_with_checks( - [MyEstimator()], - expected_failed_checks=lambda est: CHECKS_EXPECTED_TO_FAIL -) -def test_with_parametrize_with_checks(estimator, check): - check(estimator) -``` - -While working on the testing infrastructure, we have also been working on improving our -tests and that means in this release we had a particularly high number of changes in -their names and what they do. The changes will make it easier for developers to fix -issues with their estimators. Note that you can now pass `legacy=False` to both -`check_estimator` and `parametrize_with_checks` to include only strictly API related -tests. - -The above changes mean developers need to update their estimators and depending on -what they use, write scikit-learn version specific code to handle supporting multiple -scikit-learn versions. To make that process easier, we've worked on a package called -[`sklearn_compat`](https://github.com/sklearn-compat/sklearn-compat/). You can either -depend on it as a package dependency, or vendor a single file inside your project. At -the moment this project is in its infancy and might change in the future. But hopefully -it helps developers out there. - -If you think there are missing functionalities in the developer API, please let us know -and give us feedback on our [issue tracker]( -https://github.com/scikit-learn/scikit-learn/issues). +Create your account on Skolar today: https://skolar.probabl.ai From 94e910b244484b9e9a6be401b93031f6024c6a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9n=C3=A9lope=20Gittos?= <147163692+pengtts@users.noreply.github.com> Date: Mon, 30 Jun 2025 18:13:40 +0200 Subject: [PATCH 03/11] Apply suggestions from code review Co-authored-by: Arturo Amor <86408019+ArturoAmorQ@users.noreply.github.com> --- _posts/2025-30-06-probabl-skolar.md | 51 ++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/_posts/2025-30-06-probabl-skolar.md b/_posts/2025-30-06-probabl-skolar.md index 4a116b1..5d1016c 100644 --- a/_posts/2025-30-06-probabl-skolar.md +++ b/_posts/2025-30-06-probabl-skolar.md @@ -29,19 +29,54 @@ postauthors: https://skolar.probabl.ai/ -The scikit-learn project always puts efforts on education to build and nurture a strong vibrant open-source community. The goal is straightforward: give everyone, everywhere, the tools they need to easily grasp, engage with, and meaningfully contribute to data science using open-source software. This mission is shared and actively supported by Probabl, a company that helps maintain scikit-learn by employing many of its core contributors and investing in its long-term sustainability. With their support and a deep commitment from the community, we continue building bridges between research, software, and education. +The scikit-learn project always puts efforts on education to build and nurture a +strong vibrant open-source community. The goal is straightforward: give +everyone, everywhere, the tools they need to easily grasp, engage with, and +meaningfully contribute to data science using open-source software. This mission +is shared and actively supported by [Probabl](https://probabl.ai/), a company +that helps maintain scikit-learn by employing many of its core contributors and +investing in its long-term sustainability. With their support and a deep +commitment from the community, we continue building bridges between research, +software, and education. -When the [Inria scikit-learn MOOC](https://inria.github.io/scikit-learn-mooc/)(Massive Open Online Course) first went live, our community got a front-row seat to the amazing impact of practical, accessible and open learning. More than 40,000 people worldwide have jumped into these courses, clearly highlighting the demand for organized, hands-on resources that blend theory with real-world practice. +When the [Inria scikit-learn MOOC](https://inria.github.io/scikit-learn-mooc/) +(Massive Open Online Course) first went live, our community got a front-row seat +to the amazing impact of practical, accessible and open learning. Created by +several core developers and maintainers of scikit-learn—now working at +Probabl—the MOOC has reached over 40,000 learners worldwide, clearly +highlighting the demand for organized, hands-on resources that blend theory with +real-world practice. -Today, [Probabl](https://probabl.ai/) is excited to introduce Skolar, a new, fully open-source educational initiative, built directly from your feedback and all the lessons we've learned along the way. Developed by the maintainers and core developers of scikit-learn, Skolar is designed specifically for data science practitioners, offering hands-on, high-quality learning resources grounded in real-world applications and open-source values. +Today, Probabl is excited to introduce Skolar, a new, fully open-source +educational initiative, built directly from your feedback and all the lessons +we've learned along the way. Developed and extended by those same core +developers of scikit-learn, Skolar is designed specifically for data science +practitioners, offering hands-on, high-quality learning resources grounded in +real-world applications and open-source values. -Skolar exists to boost our shared values: openness, teamwork, and practicality. It offers clear, interactive tutorials and structured courses carefully designed to match industry challenges and specialized use-cases. But even more importantly, it captures the true spirit of open source: encouraging collaboration, peer-to-peer learning, and guidance from experts. +Skolar exists to boost our shared values: openness, teamwork, and practicality. +It offers clear, interactive tutorials and structured courses carefully designed +to match industry challenges and specialized use-cases. But even more +importantly, it captures the true spirit of open source: encouraging +collaboration, peer-to-peer learning, and guidance from experts. -Right now, we’re just at the beginning. Today, you can dive into our Scikit-learn Associate Practitioner online course, adapted from the popular Inria MOOC but enhanced with new material on unsupervised learning, especially clustering. +Right now, we’re just at the beginning. Today, you can dive into our +Scikit-learn Associate Practitioner online course, adapted from the popular +Inria MOOC but enhanced with new material on unsupervised learning, especially +clustering. -The next stages, professional and expert levels, will launch soon. We’ll also add more courses covering other open-source libraries such as skrub (for data wrangling), hazardous (for survival analysis), and fairlearn (for fairness). Additionally, our scikit-learn team is planning to create industry-specific modules tackling real-world needs in fields like healthcare, finance, medicine, and beyond. +The next stages, professional and expert levels, will launch soon. We’ll also +add more courses covering other open-source libraries such as skrub (for data +wrangling), hazardous (for survival analysis), and fairlearn (for fairness). +Additionally, our scikit-learn team is planning to create industry-specific +modules tackling real-world needs in fields like healthcare, finance, medicine, +and beyond. -At its core, Skolar is about empowering people through education, driven entirely by our passion for openness and collaboration. We firmly believe that true open data science begins with community-built learning resources. -We warmly welcome you, whether you're a contributor, learner, teacher, or just someone curious, to join us. Help shape Skolar’s future and support open-source education in data science. +At its core, Skolar is about empowering people through education, driven +entirely by our passion for openness and collaboration. We firmly believe that +true open data science begins with community-built learning resources. We warmly +welcome you, whether you're a contributor, learner, teacher, or just someone +curious, to join us. Help shape Skolar’s future and support open-source +education in data science. Create your account on Skolar today: https://skolar.probabl.ai From 70f04d87a11373fcfe1586823f9343c344aa8e6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9n=C3=A9lope=20Gittos?= <147163692+pengtts@users.noreply.github.com> Date: Fri, 4 Jul 2025 15:19:44 +0200 Subject: [PATCH 04/11] change file name format --- ...{2025-30-06-probabl-skolar.md => 2025-06-30-probabl-skolar.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2025-30-06-probabl-skolar.md => 2025-06-30-probabl-skolar.md} (100%) diff --git a/_posts/2025-30-06-probabl-skolar.md b/_posts/2025-06-30-probabl-skolar.md similarity index 100% rename from _posts/2025-30-06-probabl-skolar.md rename to _posts/2025-06-30-probabl-skolar.md From 7a2b73d0bcab76393f475301d94330c3c7e2eebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9n=C3=A9lope=20Gittos?= <147163692+pengtts@users.noreply.github.com> Date: Fri, 4 Jul 2025 15:22:58 +0200 Subject: [PATCH 05/11] Adding mention of "sponsored blog post" --- _posts/2025-06-30-probabl-skolar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/2025-06-30-probabl-skolar.md b/_posts/2025-06-30-probabl-skolar.md index 5d1016c..44268b6 100644 --- a/_posts/2025-06-30-probabl-skolar.md +++ b/_posts/2025-06-30-probabl-skolar.md @@ -27,6 +27,8 @@ postauthors: {% include postauthor.html %} +

style="color:red;">Sponsored blog post

+ https://skolar.probabl.ai/ The scikit-learn project always puts efforts on education to build and nurture a From 57ccf63891e8e2b8e3295395abaae510ecb1f5c8 Mon Sep 17 00:00:00 2001 From: ArturoAmorQ Date: Fri, 4 Jul 2025 16:29:41 +0200 Subject: [PATCH 06/11] Mention that post is sponsored --- _posts/2025-06-30-probabl-skolar.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2025-06-30-probabl-skolar.md b/_posts/2025-06-30-probabl-skolar.md index 44268b6..0dec93e 100644 --- a/_posts/2025-06-30-probabl-skolar.md +++ b/_posts/2025-06-30-probabl-skolar.md @@ -10,6 +10,7 @@ date: June 30, 2025 categories: - Updates tags: + - Sponsor - Open Source - Machine Learning @@ -27,9 +28,8 @@ postauthors: {% include postauthor.html %} -

style="color:red;">Sponsored blog post

-https://skolar.probabl.ai/ +*Sponsored blog post* The scikit-learn project always puts efforts on education to build and nurture a strong vibrant open-source community. The goal is straightforward: give From 3bb4b7e138de968220c0c85304cc8176c409b2ac Mon Sep 17 00:00:00 2001 From: ArturoAmorQ Date: Fri, 4 Jul 2025 16:30:45 +0200 Subject: [PATCH 07/11] Add author and images --- _posts/2025-06-30-probabl-skolar.md | 4 ++++ .../images/author_images/penelope_gittos.jpeg | Bin 0 -> 42329 bytes assets/images/author_images/skolar-logo.png | Bin 0 -> 11788 bytes 3 files changed, 4 insertions(+) create mode 100644 assets/images/author_images/penelope_gittos.jpeg create mode 100644 assets/images/author_images/skolar-logo.png diff --git a/_posts/2025-06-30-probabl-skolar.md b/_posts/2025-06-30-probabl-skolar.md index 0dec93e..b8bd68c 100644 --- a/_posts/2025-06-30-probabl-skolar.md +++ b/_posts/2025-06-30-probabl-skolar.md @@ -21,8 +21,12 @@ featured-image: BSD_watermark.svg # Can accomodate multiple authors # Add SQUARE Author Image to /assets/images/author_images/ folder postauthors: + - name: Skolar + website: https://skolar.probabl.ai/ + image: "skolar-logo.png" - name: Pénélope Gittos website: https://www.linkedin.com/in/gittospenelope-data-analyst-growth-bilingual/ + image: "penelope_gittos.jpeg" ---
diff --git a/assets/images/author_images/penelope_gittos.jpeg b/assets/images/author_images/penelope_gittos.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a6020796ba18af9feff254809796b08e99783e35 GIT binary patch literal 42329 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

svBuMg+C?+}$ zLp7CxXo>BP7ZoG8eh=~27Rs~r)g_C%-kT6T?R&eqoZ_`KZz2%DX+dYjufQ;eKZpl; zWJ!%i{`4ly5bKc>WuWe{*F0IcP_zfY=yT8iko*m!6;Z}2Wl6yn=fQ!euoU;A%`*050 zb;!1gl3^bO8d}KKZ3$8emA^Cx?=(+fb$e9)AQSKCN@PuA)>#z&P0AT$r-)IX-Cq4G z-*!GDRpK7d8GJMjjroYE8>hBBRy$74M$^miSpW35VQ}Gda(1w5V-(#C$An)I954W; zaMvhP8q~bkxVwyeg|3M9OJ((3`TqUof;96|M*qVCDHyDD<|pb$i!+*QowCA|o;v|y zI5~u+rc7}Vr{o|Zy+?79Ez=rg(NH~v8Z6TUqbEADNc`fis_OkOuRPyMzu8{U7CDa? zR}}Ff+iqPc`0blB~H9A6r#=-&6qYczcwjbbUGRDx${qqz!p;jOh_t6iGi zk2|urR)jN0AIdB)>zQH6yZDQZhYmgQarOM>)=p~AUV7R7*rhm*m( zSmz=Hx7m^V^xCuPWa;RlkzcZ)iLYB3VC@qm$#S?K(#)?DgH^TH7M)?qSAU^*M#M$k zBwkHvH`*(@hJ`w#W6x>CsR(Go#BV*>+N!;66q2O!;ICAoxjl%V1T?{Y{K(QDl9oN# zTo!uc5UBjVHjD&AuF{qa&fAH&f+v9*@D5*o;V4azk{;Vyp4Sw-g0%LlB%Q%4b=ia# zs$Oq&pbpiUVO$Iu?eR|>VhTg*_nri>kh`qIa2pryED)Te>tZu?n*mLwqWWwm$Xjn+ zks9-*pl%aWXQ6>}Kz~SFh}=JJR5kO;Xq(A#$6(9z1df4dg3lazemQ>MmsKad2-zAP z`bSwS4lS2X*7$L22@4whB-gks;lED>9foHC;ImPhK-UOF_wr|&{{J(Ix}_3% zRprCQsR%zb?2lCW?tb%Eajmx$Gj-Oj+dqknDXq?1`aM_>GMv&s;qau>Nqgxm!n|j6i&Zh8Xhi#ndUwGaBKw92a76{2p z-id8z-&%{rl)vC@zJ*jChZhJJ2_ymc<`rRDDc`V>AA1eG5Iys8M`@ko_QRV?CPo(dGiJ^z=;vkZTq0W-T2g*;|3t=Iw;hW{FL7fI(>`e0mzZUgp z6?m*)8s5}AA3D~0H{(Go!#|WPa{AX}M6|f^{t~1Ov>^^hiNj#~Vk^qdZ2A|2WpRAO z@Zn6I(!m&qmkK+Ach6okar7wu2OPA5G}+RxzP1E3ve0QOhd&!7*`@;4ZxpX2ScsOQ z$N;0AJ&ZF?+FBGs*u~kxPrd;bphBI`3Ofj&jA^L~?E|rzn*lz_(5k!214uTM?Pe}5 z=*j5mPfpjU3sU0#5DM)k2t67ockLo&wTb8efdWl}|FZhOm5sCdXYl>0LmXG3s4=HP zg5Ji8cdtJZ=ki_H0p96w_2VLnMRo%c1wGd8;bf*$0@LP5jMp$GGKze-X~Bdg@Kw+% zy-j#xd?t=%rJFu~HS#hYndIW`2JkmI%})eQ=Tf2_7(&`ym1bVcxVX4wR3*z~9EPT; z({z$5%K}Q~7&&TkUER@eIHBbK4ao(;m0;ccxbPg96k0WUCJub2q2FgyR1hh_7^Gu4H(snaew zVU9#iw9O9W>#meD1XXm1oq?3S@aVU2-AKaL#dSO^8h zY?qsle)-JU*f58v!lIYj!l@cD|F+jQ9OSA8 z!h*w|Kv&8hS}z9*2K5~4;Z?5)YBk(e;<-oL2d<@LZ0bs-w#+(v z5!?KsI}r~0k-xw%Ek_sodCk!FR~D1M948*ROY4@vDKk6wMAek3{;U4<&JKN_L!6GV zVK-AVsX=NiR|lSYql3$?Gb_1IMH!VpX=bei;h3}&8IyOQy7vV{Qq;%9u}a*VOGacl=2RXXC41ljXm+|LHFADZ+0r{?NhIWEOM z3TF>gLCjmd?0*_YRH zMc!{NQ2;xHv`+W>WN{9$?-dLdImm`_Z0S(8GoiB=Ir`D>wZwCAG6{)>CNu@BwnC)v zvGL{RwQ_9(@0}c5HGC2PGMve(c({WCvI{c_i{E6$_7;U2Len8OTbo!aSB{kzG!E3)9h^PkQ5lAE|wX+(r(Ca)rO)%39NWnE?ML?Sw(U_5tHo1A3W%a zxVN&`AW?$RnfA2<;;f}mbhvoTiqK`f_Gk~j+`%6`^6aO{bHJUc*m4o?95Y}jM+}B}doO0&oe}z-O=1hjF zucfCzhVypPqlvOisJU!Y`fN?{ZcsAiNq}an0*EGN`6Ds+7Uh2+aeqXGEUMQDmQ}I* z`YpWRmRg66_3y+oj4Qv><^+CJkl^u<&@y1!boq86guAV$!e?-JFCTqafi%Va- zD@;NJnWh`-exI|De=?x&kK+(IpUxd6PIX#~m##)2%)%#u8P62h@eYX_5rbaxZy&rt6b zx#&J=mfD5bvin1I=I;gOzuQS5L!QTcV%>tDIztq;iSY|7v zm`yfSqGvUHHxUm(y%k*aA~=9%*3Y7PDH{L;U)S};g!!D%``^I)WOj1KgP3HuqI(waLy!eQM2jKwW$4LOc9P=-Bhi`VOhoPEf$R0OdlAXRpYSz1k#>c2Z z*N(m81`p}01cTZa=KfHS@9v!LI6hl$M=;cYQChp)OA;6JXufRg)shYrrg65;17axl zm8;n0<|G0?@BaIsGCT&0KNZnl?+Ow9Sj*$U_a-4~fAyh8IG}vS*|4SplUx+9_nTY;nUiXwwfsd|`vZf@fUpSO7&7`!r?D*Odk-s-*s?tra_c zH&AgR1|ZXy2X@)d1Jh>J{E+AFuj2Wf z+^d(0%_xj)cI6>RLzu$!^uTUT*&g3pE68FBCwAM;rbc0-Q>PzO3)VxCD%#$1b^g{_wbkPnlC6H8&r(Jdq8yCP z{gXG*G}R4_Q2E?q;XfLx4O(;49bl8W%b$cP{TlNT{7i%WNs+?1qNigFaAz^P147t0 z(oxd^o5VDP0&E^}Yc9=4CgUq`-iJ4l+zjjZC*M^>M9_L9~8g?DH{}8 zhvjMB$XuRprZPn{>a~B0y4HAC;1`n-B;Av8{BZr5go_K=i=D zY;6E=56#l-3j#+wLAMLXk}EEit5f5x@>w5^W-C9yvd|#PDb`+TD$ZX`RB;Pj+nN8x ztiGEMaWepe{IgCw3|%z18!aLxBAq80K!qj#OGf`;;h1=~4~%Kow~U=eH<&KI=(H=I zHa9$!Z#G{Y+DPR++^b`4ae1L99Ib8_lUVj-O6N1I#>Wp(rNATYCv@=pAFjh}nC{K=^W6dXs1pXT5Be0`iENSwi`aV1<)JtMhq`RY|F z;WnpIPMPt|H-xiriR<+eptA3l@i$p-#_9_u`?KAj!nmn@WAzbv5?^^-FOns7shs~TC?q06>7hLFV zJhP)dUCsMW{kV>M&?wQSXjbnSqzA_Ot{kt_=q%<>^7Y&oNn>DvO4AQk^)L*@u=?q1 zDLFGc%-obtJ}mXUMd58ZW*@CPQaCmZ%oxa2q+{5!frZV6+HI}#b@yBKvyuBX(Jq2$ zkfUtW37rP%UF=a>yPmjWhjoLP zHAb4%lMOXpv+MJXB`q`}8bA^n3j+H;W9(X;D>6+pJ}1ZWrBW#1a=>J?hBTr3K67}5 zB1=SX99-11Y|HkZfy&jn4r}2w9%>v-Y))VTNF{P2PoN|qNF^pNVy(y&BbzWN-ifTe zXE@YLZz!kDR^lX9hT!3xUQujoJGlqhddo$uie z(=EfAT}_60ay`l#xaejyTVjdcY2}QxBWJS7I<%ktm(+GR4q#4#i3w~9F~H!JHGccp zC>`yewT$2qECBg@Z)ZNgRG_OEN|ZB?e&`sLJM?Sr<=S}FW#3GFnCXbOBHk0H5YHn^ zhy-nBQ0auF-HwT)Z9BLbETps+byheQ_cflA?ManM-HuuwBFY8?fOYiklfbCs0RKeq$3RFF6FV#d_{nx1wBC+I$ez>s6Px5~ZmNFCGxUQp* zT(~fIL#UuJJ|BYz#q2Q_VzyoWv{pQvb4F=x{aPdcKsB>JcpBD9xNX-3=fXw-qX~E} zjWj{)n5Ts2xx3eT!Z3R@dO9ngnYe(sgVYFTwKP~9OYgV~C{Mpx=ljYEZXzD{3uLN` zlK1PYP2>@LOFke86LZQ!E2%@)#KznKy_+^H4?tff8W zA2I05jvl$7SF@o?vuvp%3@2i452d%na8LE_5YWAKbXwG+Xob`PQq) zX2S7wiq^w$vwV?Z+aU!XMDkDSILY_l?nZj|UB%g9b#*$1@pq`HyXn#}n@!9ab#Z!k zz|DbEPtU5TdEY(S3u({)`Xv>a=5V2=HoWa_ukjUgZ%y1vv9*Usdt(hBMRsIDB?YaHwO%PftPEQ?HRweZPz79h~*9XN_%To6KdDl0Y zn-)%}6UKwan0Wk@*W%elVQ*vTLbfUROB#Qc(e&n7L6rUQ4w|jBo5J+jg4e3r!PY_y zN770cW<}!n0f_>F33SFxgacY9{h$?RIEWYRQBm{q$qT52*qY^zwsiAw&S;o1ji&#JUAakY_&_L%;^>aHWk|1lg$b1O+rOov- zaDUS%v`GJglA!qipHV!LWsBK4Il>`#tvEIgI4f&wXnz793vLdDX~6z8=2&{AzSnAV z_T|01^nLdQ_S=uIhN+Jfh4YwpR$4SpWN&m_>(AyzglNU){=#qDen1ZMTXChLr%i2> z!cXtlx+CX-_YWBaf%w^?j~~jUK0CS02TO`q8P4s)p6b3_vYTx{UNCr?gnUW`Yj+2! z6eTqBzdukS7G}?o!5?|zH3~G%@|N`)CBSnNbu?my2|h%anuPj#P85<;NR975bc~m) zw0|Q)S6njTn2$d?j{WS(cgg0|i$z>;1@eo0$9l;LE}`{^Zd)>=89cU2 zqs8*1#6hIqi7Y5Sf<4kHYVb$2RH*K7^HaK!CMGUh5o%JL_~HYq)f&XXfnTGYcGu z<&2&U@2(1G!)wI{P*oh#+Knf!i{xTTQ-bWo!8>E z8VJ+ySFr5uPi%y2CGf1*&iGb;YLGG;k?iirpq3(z{t+3GGdg5zf;N^e7D+ zc&bCWwJ%NB0?vlP_1|@i6g^x!`g~2Mnjl4UUy-`<@f2WDH7szsSKj_miv%ZY$B2^t zC^LCcr~(-)k00QDw83{zyMy|051TGC(0@aGgPBQJm(#=lg5apsweZ-l7Zj5|X~Q#2O; zP^o;dw#$#tT9C_?CtQ3eSemLd(X&%$c}d{sNk42qg3 zd2Z*DAl=-lvQ(UtDl1yWd01NFv=^*yLIM@1?m^I_7IU9d&jbK zBh2eG<L+v=5=690hgdtbTnsLHoaT80ETMsoix?na z84OcekwI2r#}dHZ*I$D`8D0d?fPx4nmnNkSWC{lGab;`w_gPfoT#yS{wiFTBK>o$& zoR<{y;XFR;55qrZk=xDtNBrd`gm$MX$l$oVpl->bxexxCL>&4 z=GjOq^>qbJ$D(=iijw?*MB?oQAP*#3IsJTe+`xJ1udlG@Z_mf<17TD2vmtMXG!ka8 zY<_oZb<1~~Et<6J_>LQ_)ckvH#nXgLZ)OHY+)KB-JaG2(05VkJ&yRaY5stIcU#S(U zXwyufN0H`RG_ry!gN5*&GP4?Wbd>;MbXY10FIP3hKCw9@aiQPtp z%ard|@}0!_zH9#{FEf;3kj(;Or?vk#$CBL>UMb6CwPh98-JoCi#aa#tB1X{Eht~gl z{=2%Sz3!XIzjb{NL*Oe3CD@FjWeE<#nV~$f{~R}E!_SP1jGD)bDh`I1)V5~%p?~<2 z3)0!?k9un@RayRhy1&|OY`{Kgp-^<3<| zv$2!RHpO-;FEREeK3Fz4X?TZuOm%sm4_x-!6&SCPOQ2pg<-L z?dD|8*}S{?FQioTwRHTf=vw@THpZzd# zk->26DX^AmWYUptXh-3Zh3u-#iu5+p`8>YAYCgZo2cOkEkYB64?+LN|Zb16}9I$Lg zSi*(P^I>A~w*c*7X6)DXYM;gk=yCi-mLIxuAUpx;VYAy%iv9f20L23O&r4m_zC0O@vKI&CI0CIA2k;i=wygFFdlu zi@g%(ioWt|N_@Xj7#$4Wc}`U!^cWS&rCb&cCy`Kfbm67;)DtqwE9*}NDChY^n^Df@JVYU+s*-BD zcf8Ia>RKR>27xI=`Fvzb#GbI%$zRGwUx@x0zQyhOnsawF>!RxSd<$uWFYM!a@eZP* zIb^`a;^dD=FRY~GY|+4f%NORKWb6C|C-ENc*LgpfAFR1?=LQ@mYOFCW*7jyD^Q70* zx)9HZv14{Om>MJCZ1_>MG07GX;t#n)#ewQ1m(MwupE;46=f00Y5^<<@+zbKGzjyYWx?7`h^$suc9YL{m@fUf~q`WVEA{? zX+&G@pBt(8L=Ds2$re5G#t~c zx8kAW_3ZYAoJm1@ylJl&S8-gcmj2EMNInakuP>{~Z^yRIRAbQT#h;W}EM8 zE!IW9i#c0ubXIREXzqywiG4MqWY*x{E@BsZDCDK-5qROXCKE3niu3$!+@BWggg z*M{MrS^ZJeS5aN{gP)uM_dtICId&0EKnl9?nP{M4mXd}~Kn|sNRIJU%sTk0gQ_rg- zmDsemaf)WJ%uow{+g!0iAm}aOno8$e7x(NtQp*tXuwpqii8U%XGkMe|`{#YFN2l8L zZwtd!7O=ztoVZUe-hXPl=3P{QOLaIA=W!*cl;r=ie!+&d9wW<6FV|h~!-_s3Zmt;& z_~wfUFNu4_3g7{r?;Je(`fywCGIMQZ{Z>}4h9F2lba#KYXYpv9@NvU&z7Kj4Rr*fR zZGmS#UZbnv7b~B+r<4B>3-rov2-zd}vs528giGf)_`pgj=QMWmBQe!zV{)#Tw-Y%3 zJBqVvwus=QpH@92o&4h~x3-RnL8^?@rs+Zn}jyCU{Or(!KSGh5hhD`no7N5vGRju&KZ08?dZ@K5sO;S;QT1dHc4}=D% Kv&R2#=Kla=5kWNo literal 0 HcmV?d00001 diff --git a/assets/images/author_images/skolar-logo.png b/assets/images/author_images/skolar-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c5877086b524aefd75eaa969897a99365c3ba6f1 GIT binary patch literal 11788 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 literal 0 HcmV?d00001 From e16e34d98edce8b5f17467135acf79958fb8dceb Mon Sep 17 00:00:00 2001 From: ArturoAmorQ Date: Fri, 4 Jul 2025 16:32:20 +0200 Subject: [PATCH 08/11] Add links to projects and demo --- _posts/2025-06-30-probabl-skolar.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/_posts/2025-06-30-probabl-skolar.md b/_posts/2025-06-30-probabl-skolar.md index b8bd68c..da91f35 100644 --- a/_posts/2025-06-30-probabl-skolar.md +++ b/_posts/2025-06-30-probabl-skolar.md @@ -53,12 +53,13 @@ Probabl—the MOOC has reached over 40,000 learners worldwide, clearly highlighting the demand for organized, hands-on resources that blend theory with real-world practice. -Today, Probabl is excited to introduce Skolar, a new, fully open-source -educational initiative, built directly from your feedback and all the lessons -we've learned along the way. Developed and extended by those same core -developers of scikit-learn, Skolar is designed specifically for data science -practitioners, offering hands-on, high-quality learning resources grounded in -real-world applications and open-source values. +Today, Probabl is excited to introduce +[Skolar](https://app.arcade.software/share/vCN6ik9dR22zD35XP5a7), a new, fully +open-source educational initiative, built directly from your feedback and all +the lessons we've learned along the way. Developed and extended by those same +core developers of scikit-learn, Skolar is designed specifically for data +science practitioners, offering hands-on, high-quality learning resources +grounded in real-world applications and open-source values. Skolar exists to boost our shared values: openness, teamwork, and practicality. It offers clear, interactive tutorials and structured courses carefully designed @@ -86,3 +87,8 @@ curious, to join us. Help shape Skolar’s future and support open-source education in data science. Create your account on Skolar today: https://skolar.probabl.ai + +Contribute to the [scikit-learn course +contents](https://github.com/probabl-ai/scikit-learn-course), or contribute to +the learning platform's [backend](https://github.com/France-ioi/AlgoreaBackend) +or [frontend](https://github.com/France-ioi/AlgoreaFrontend). From 273092ba93de393b50d1c0e62530bfcb33fa6597 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9n=C3=A9lope=20Gittos?= <147163692+pengtts@users.noreply.github.com> Date: Mon, 7 Jul 2025 10:55:52 +0200 Subject: [PATCH 09/11] Update _posts/2025-06-30-probabl-skolar.md Co-authored-by: Reshama Shaikh --- _posts/2025-06-30-probabl-skolar.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/_posts/2025-06-30-probabl-skolar.md b/_posts/2025-06-30-probabl-skolar.md index da91f35..8854da1 100644 --- a/_posts/2025-06-30-probabl-skolar.md +++ b/_posts/2025-06-30-probabl-skolar.md @@ -33,8 +33,7 @@ postauthors: {% include postauthor.html %}

-*Sponsored blog post* - +*This blog post has been submitted by Probabl, a sponsor of scikit-learn.* The scikit-learn project always puts efforts on education to build and nurture a strong vibrant open-source community. The goal is straightforward: give everyone, everywhere, the tools they need to easily grasp, engage with, and From c113cdc9f1c76933426a708e1f30cde5f133a981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9n=C3=A9lope=20Gittos?= <147163692+pengtts@users.noreply.github.com> Date: Mon, 4 Aug 2025 14:58:28 +0200 Subject: [PATCH 10/11] Apply suggestions from code review Co-authored-by: Tim Head Co-authored-by: Arturo Amor <86408019+ArturoAmorQ@users.noreply.github.com> --- _posts/2025-06-30-probabl-skolar.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/_posts/2025-06-30-probabl-skolar.md b/_posts/2025-06-30-probabl-skolar.md index 8854da1..0fa3fd0 100644 --- a/_posts/2025-06-30-probabl-skolar.md +++ b/_posts/2025-06-30-probabl-skolar.md @@ -1,5 +1,4 @@ --- -#### Blog Post Template #### #### Post Information #### title: "Skolar: an open-source initiative to democratize open data science" @@ -34,18 +33,18 @@ postauthors: *This blog post has been submitted by Probabl, a sponsor of scikit-learn.* -The scikit-learn project always puts efforts on education to build and nurture a -strong vibrant open-source community. The goal is straightforward: give +The scikit-learn project values educational efforts that build and nurture a +strong vibrant open-source community. The goal of this is straightforward: give everyone, everywhere, the tools they need to easily grasp, engage with, and meaningfully contribute to data science using open-source software. This mission is shared and actively supported by [Probabl](https://probabl.ai/), a company that helps maintain scikit-learn by employing many of its core contributors and -investing in its long-term sustainability. With their support and a deep -commitment from the community, we continue building bridges between research, +investing in its long-term sustainability. With Probabl's support and a deep +commitment from the community, the scikit-learn ecosystem continues building bridges between research, software, and education. When the [Inria scikit-learn MOOC](https://inria.github.io/scikit-learn-mooc/) -(Massive Open Online Course) first went live, our community got a front-row seat +(Massive Open Online Course) first went live, the community got a front-row seat to the amazing impact of practical, accessible and open learning. Created by several core developers and maintainers of scikit-learn—now working at Probabl—the MOOC has reached over 40,000 learners worldwide, clearly @@ -71,9 +70,11 @@ Scikit-learn Associate Practitioner online course, adapted from the popular Inria MOOC but enhanced with new material on unsupervised learning, especially clustering. -The next stages, professional and expert levels, will launch soon. We’ll also -add more courses covering other open-source libraries such as skrub (for data -wrangling), hazardous (for survival analysis), and fairlearn (for fairness). +The next stages, professional and expert levels, will be released soon. We'll +also add more courses covering other open-source libraries such as +[skrub](https://skrub-data.org) (for data wrangling), +[hazardous](https://soda-inria.github.io/hazardous/) (for survival analysis), +and [fairlearn](https://fairlearn.org/) (for fairness). Additionally, our scikit-learn team is planning to create industry-specific modules tackling real-world needs in fields like healthcare, finance, medicine, and beyond. From f963309f28058d255044d3e2f3676fcb4429b1ed Mon Sep 17 00:00:00 2001 From: ArturoAmorQ Date: Tue, 5 Aug 2025 17:06:40 +0200 Subject: [PATCH 11/11] Update featured-image --- _posts/2025-06-30-probabl-skolar.md | 2 +- assets/images/posts_images/sklearn_skolar.png | Bin 0 -> 37767 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 assets/images/posts_images/sklearn_skolar.png diff --git a/_posts/2025-06-30-probabl-skolar.md b/_posts/2025-06-30-probabl-skolar.md index 0fa3fd0..272e259 100644 --- a/_posts/2025-06-30-probabl-skolar.md +++ b/_posts/2025-06-30-probabl-skolar.md @@ -14,7 +14,7 @@ tags: - Machine Learning #### Featured Image #### -featured-image: BSD_watermark.svg +featured-image: sklearn_skolar.png #### Author Info #### # Can accomodate multiple authors diff --git a/assets/images/posts_images/sklearn_skolar.png b/assets/images/posts_images/sklearn_skolar.png new file mode 100644 index 0000000000000000000000000000000000000000..d90c9514536ed5540dc9538d32fdf311cd930624 GIT binary patch literal 37767 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 WCzq)vUXk4(6x{~~kP3~bZ~hN-guq__ literal 0 HcmV?d00001