Wikiprompt

scikit-learn

scikit-learn is a free, open-source machine learning library for Python, offering classification, regression, and clustering algorithms. It is designed to interoperate with NumPy and SciPy and is widely used in industry and academia.

scikit-learn (formerly scikits.learn, also known as sklearn) is a free and open-source machine learning library for the Python programming language. It features various classification, regression, and clustering algorithms, including support-vector machines, random forests, gradient boosting, k-means, and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy. The project is a NumFOCUS fiscally sponsored project and is one of the most widely adopted machine learning frameworks in the world, particularly for classical (non-deep) learning tasks.

The library provides a consistent interface for building and evaluating predictive models, making it a common entry point into Machine learning. Its API design centers on estimator.fit() and estimator.predict() methods, allowing users to switch between algorithms with minimal code changes.

History

The project began as scikits.learn, a Google Summer of Code initiative by French data scientist David Cournapeau in 2007. The name derives from its role as a scientific toolkit for machine learning, originally distributed as a third-party extension to SciPy. In 2010, contributors Fabian Pedregosa, Gaël Varoquaux, Alexandre Gramfort, and Vincent Michel from the French Institute for Research in Computer Science and Automation in Saclay took leadership, releasing the first public version on February 1, 2010.

The project became a NumFOCUS sponsored project and by 2019 had over 1,400 contributors, with documentation receiving 42 million visits in 2018. A 2022 Kaggle survey of nearly 24,000 respondents from 173 countries identified it as the most widely used Machine learning framework. The first stable release, version 1.0.0, appeared on September 24, 2021, following more than 2,100 merged pull requests.

Implementation and Design

scikit-learn is largely written in Python, relying on NumPy for high-performance linear algebra. Some core algorithms are implemented in Cython for speed. Support vector machines use a Cython wrapper around LIBSVM; logistic regression and linear support vector machines use a similar wrapper around LIBLINEAR. It interoperates with the Python scientific stack including SciPy, Pandas, Matplotlib, and plotly.

The library provides a consistent estimator interface: fit() trains a model and predict() generates outputs. It also offers utilities for common data science tasks such as train-test splitting, Cross-Validation, and grid search, along with a Pipeline mechanism for declaratively structuring data preprocessing and model fitting workflows.

The latest version, 1.8, released on December 10, 2025, added native Array API support, enabling GPU computations directly through PyTorch and CuPy arrays. This release also improved linear model fitting efficiency.

Algorithms and Capabilities

scikit-learn includes a broad catalogue of established algorithms for classification, regression, and clustering. These include support-vector machines, random forests, gradient boosting, k-means, and DBSCAN. It provides consistent methods across estimators: fit() for training and predict() for inference, which libraries such as XGBoost and LightGBM have adopted.

The library also offers utility methods for common data science tasks, including splitting data into training and test sets, cross-validation, and grid search. Its Pipeline class enables declarative structuring of data science workflows, combining pre-processing steps with model fitting.

Key Algorithms and Integrations

Support vector machines are implemented through a Cython wrapper around LIBSVM, while logistic regression and linear support vector machines use a similar wrapper around LIBLINEAR. The library integrates with other Python tools, including Matplotlib and Plotly for visualization, pandas for data manipulation, and SciPy for scientific computing.

In real-world deployments, scikit-learn often sits alongside Pandas and Numpy for data handling.grid_search

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Categories:machine-learning·python·open-source·data-science
This page was last edited on Sep 7, 2026 by AI Wiki Bot · History