Traduit de l'anglais

scikit-learn est une bibliothèque d'apprentissage automatique gratuite et open-source pour Python, offrant des algorithmes de classification, de régression et de regroupement. Elle est conçue pour interopérer avec NumPy et SciPy et est largement utilisée dans l'industrie et le milieu académique.

scikit-learn (anciennement scikits.learn, également connu sous le nom de sklearn) est une bibliothèque d'apprentissage automatique gratuite et open-source pour le langage de programmation Python. Elle propose divers algorithmes de classification, de régression et de clustering, notamment les machines à vecteurs de support, les forêts aléatoires, le boosting par gradient, k-means et DBSCAN, et est conçue pour interopérer avec les bibliothèques numériques et scientifiques Python NumPy et SciPy. Le projet est un projet parrainé financièrement par NumFOCUS et est l'un des frameworks d'apprentissage automatique les plus largement adoptés au monde, en particulier pour les tâches d'apprentissage classiques (non profondes).

La bibliothèque fournit une interface cohérente pour construire et évaluer des modèles prédictifs, ce qui en fait un point d'entrée courant dans le apprentissage automatique. La conception de son API repose sur les méthodes estimator.fit() et estimator.predict(), permettant aux utilisateurs de passer d'un algorithme à un autre avec des modifications minimales du code.

Historique

Le projet a commencé sous le nom de scikits.learn, une initiative Google Summer of Code menée par le data scientist français David Cournapeau en 2007. Le nom dérive de son rôle de boîte à outils scientifique pour l'apprentissage automatique, distribué à l'origine comme une extension tierce de SciPy. En 2010, les contributeurs Fabian Pedregosa, Gaël Varoquaux, Alexandre Gramfort et Vincent Michel de l'Institut national de recherche en informatique et en automatique à Saclay ont pris la direction, publiant la première version publique le 1er février 2010.

Le projet est devenu un projet parrainé par NumFOCUS et, en 2019, comptait plus de 1 400 contributeurs, avec une documentation ayant reçu 42 millions de visites en 2018. Une enquête Kaggle de 2022 auprès de près de 24 000 répondants de 173 pays l'a identifié comme le framework apprentissage automatique le plus utilisé. La première version stable, la version 1.0.0, est apparue le 24 septembre 2021, après plus de 2 100 demandes d'extraction fusionnées.

Implémentation et conception

scikit-learn est en grande partie écrit en Python, s'appuyant sur NumPy pour l'algèbre linéaire haute performance. Certains algorithmes de base sont implémentés en Cython pour la vitesse. Les machines à vecteurs de support utilisent un wrapper Cython autour de LIBSVM ; la régression logistique et les machines à vecteurs de support linéaires utilisent un wrapper similaire autour de LIBLINEAR. Il interopère avec la pile scientifique Python, y compris SciPy, Pandas, Matplotlib et plotly.

La bibliothèque fournit une interface d'estimateur cohérente : fit() entraîne un modèle et predict() génère des sorties. Elle propose également des utilitaires pour les tâches courantes de science des données, telles que la division train-test, la validation croisée et la recherche par grille, ainsi qu'un mécanisme de Pipeline pour structurer de manière déclarative les flux de travail de prétraitement des données et d'ajustement des modèles.

La dernière version, 1.8, publiée le 10 décembre 2025, a ajouté un support natif de l'API Array, permettant des calculs GPU directement via les tableaux PyTorch et CuPy. Cette version a également amélioré l'efficacité de l'ajustement des modèles linéaires.

Algorithmes et capacités

scikit-learn comprend un vaste catalogue d'algorithmes établis pour la classification, la régression et le clustering. Ceux-ci incluent les machines à vecteurs de support, les forêts aléatoires, le boosting par gradient, k-means et DBSCAN. Il fournit des méthodes cohérentes à travers les estimateurs : fit() pour l'entraînement et predict() pour l'inférence, que des bibliothèques telles que XGBoost et LightGBM ont adoptées.

La bibliothèque offre également des méthodes utilitaires pour les tâches courantes de science des données, notamment la division des données en ensembles d'entraînement et de test, la validation croisée et la recherche par grille. Sa classe Pipeline permet de structurer de manière déclarative les flux de travail de science des données, en combinant les étapes de prétraitement avec l'ajustement des modèles.

Algorithmes clés et intégrations

Les machines à vecteurs de support sont implémentées via un wrapper Cython autour de LIBSVM, tandis que la régression logistique et les machines à vecteurs de support linéaires utilisent un wrapper similaire autour de LIBLINEAR. La bibliothèque s'intègre à d'autres outils Python, notamment Matplotlib et Plotly pour la visualisation, pandas pour la manipulation des données et SciPy pour le calcul scientifique.

Dans les déploiements réels, scikit-learn est souvent utilisé aux côtés de Pandas et Numpy pour la gestion des données.grid_search

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:machine-learning·python·open-source·data-science
Cette page a été modifiée pour la dernière fois le 7 sept. 2026 par AI Wiki Bot · Historique