scikit-learn /scikit-learn
scikit-learn: machine learning in Python
★ 68,123⑂ 27,660👁 2,123⑃ 21,776● 12,371▤ 51◈ 883
68,123
stars
+21
27,660
forks
2,123
watchers
21,776
prs
12,371
issues
51
releases
883
discussions
README
.. -- mode: rst -- |GitHubActions| |Codecov| |CircleCI| |Nightly wheels| |Ruff| |PythonVersion| |PyPI| |DOI| |Benchmark| .. |GitHubActions| image:: https://github.com/scikit-learn/scikit-learn/actions/workflows/unit-tests.yml/badge.svg? :target: https://github.com/scikit-learn/scikit-learn/actions/workflows/unit-tests.yml?query=branch%3Amain .. |CircleCI| image:: https://circleci.com/gh/scikit-learn/scikit-learn/tree/main.svg?style=shield :target: https://circleci.com/gh/scikit-learn/scikit-learn .. |Codecov| image:: https://codecov.io/gh/scikit-learn/scikit-learn/branch/main/graph/badge.svg?token=Pk8G9gg3y9 :target: https://codecov.io/gh/scikit-learn/scikit-learn .. |Nightly wheels| image:: https://github.com/scikit-learn/scikit-learn/actions/workflows/wheels.yml/badge.svg?event=schedule :target: https://github.com/scikit-learn/scikit-learn/actions?query=workflow%3A%22Wheel+builder%22+event%3Aschedule .. |Ruff| image:: https://img.shields.io/badge/code%20style-ruff-000000.svg? :target: https://github.com/astral-sh/ruff .. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/scikit-learn.svg? :target: https://pypi.org/project/scikit-learn/ .. |PyPI| image:: https://img.shields.io/pypi/v/scikit-learn :target: https://pypi.org/project/scikit-learn .. |DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.17880109.svg? :target: https://zenodo.org/badge/latestdoi/21369/scikit-learn/scikit-learn .. |Benchmark| image:: https://img.shields.io/badge/Benchmarked%20by-asv-blue :target: https://scikit-learn.org/scikit-learn-benchmarks .. |PythonMinVersion| replace:: 3.12 .. |NumPyMinVersion| replace:: 1.26.0 .. |SciPyMinVersion| replace:: 1.11.4 .. |JoblibMinVersion| replace:: 1.4.0 .. |NarwhalsMinVersion| replace:: 2.0.1 .. |ThreadpoolctlMinVersion| replace:: 3.5.0 .. |MatplotlibMinVersion| replace:: 3.8.0 .. |Scikit-ImageMinVersion| replace:: 0.24.0 .. |PandasMinVersion| replace:: 2.1.3 .. |SeabornMinVersion| replace:: 0.13.0 .. |PytestMinVersion| replace:: 7.1.2 .. |PlotlyMinVersion| replace:: 5.24.0 .. image:: https://raw.githubusercontent.com/scikit-learn/scikit-learn/main/doc/logos/scikit-learn-logo.png :target: https://scikit-learn.org/ scikit-learn is a Python module for machine learning built on top of SciPy and is distributed under the 3-Clause BSD license. The project was started in 2007 by David Cournapeau as a Google Summer of Code project, and since then many volunteers have contributed. See the About us __ page for a list of core contributors. It is currently maintained by a community of contributors, with volunteers but also support from several organisations __. Website: https://scikit-learn.org Installation ------------ Dependencies ~~~~~~~~~~~~ scikit-learn requires: - Python (= |PythonMinVersion|) - NumPy (= |NumPyMinVersion|) - SciPy (= |SciPyMinVersion|) - Narwhals (= |NarwhalsMinVersion|) - joblib (= |JoblibMinVersion|) - threadpoolctl (= |ThreadpoolctlMinVersion|) ======
Top issues
#11536Liblinear convergence failure everywhere?70 comments · 2018-07-15#30662HistGradientBoostingClassifier/Regressor 15x slowdown on small data problems compared to disabled OpenMP threading68 comments · 2025-01-17#3855Resampler estimators that change the sample size in fitting68 comments · 2014-11-15#5884Implement Gower Similarity Coefficient63 comments · 2015-11-19#25888PERF `PairwiseDistancesReductions` subsequent work55 comments · 2023-03-17#3482Generalized additive models (GAMs)?52 comments · 2014-07-24#9606feature_importances_ should be a method in the ideal design47 comments · 2017-08-22#735Fixup naive_bayes45 comments · 2012-03-27
Discussions
#35287How do you turn customer behaviour data into useful ML features and real business decisions?6 comments · 2026-11-01#35148Smart App Control compatibility guidance for scikit-learn 1.9.1 Windows cp313 wheel5 comments · 2026-10-15#35051Proposal: Practical Discriminant Analysis Example / Contribution2 comments · 2026-09-29#35025tom3 comments · 2026-09-24#34998Should the `log_loss` metric really be named the `mean_log_loss`?2 comments · 2026-09-20#34797L-BFGS loss_gradient: is there real headroom in the Array API helpers on NumPy inputs?5 comments · 2026-08-23#34780Blog link discrepancy1 comments · 2026-08-19#34684Is it appropriate to use the point order produced by np.where() as input for an SVM baseline?1 comments · 2026-08-09
Latest release
Scikit-learn 1.9.1 1.9.1 2026-09-11We're happy to announce the 1.9.1 release. This release contains a few bug fixes and is the first version supporting Python 3.15. You can see the changelog here: https://scikit-learn.org/stable/whats_new/v1.9.htmlversion-1-9-1 You can upgrade with pip as usual: pip install -U scikit-learn The conda-forge builds can be installed using: conda install -c conda-forge scikit-learn Thanks to everyone who contributed to this release !