scikit-learn
by scikit-learn developers · Library · also known as sklearn
BSD-licensed Python machine-learning library for classification, regression, clustering, dimensionality reduction, preprocessing and model selection on NumPy and SciPy
Overview
scikit-learn is the standard Python library for classical (non-deep) machine learning, released under the BSD 3-Clause license and built on NumPy, SciPy and Matplotlib. It implements supervised methods (linear and logistic regression, ridge and lasso, support vector machines, nearest neighbours, decision trees, random forests, gradient boosting), unsupervised methods (k-means, HDBSCAN, hierarchical clustering, PCA, non-negative matrix factorization, manifold learning), preprocessing and feature extraction, and model-selection tooling such as pipelines, cross-validation, grid and randomized search and a broad set of metrics. Its uniform fit/predict/transform API has become a de facto interface that other libraries, including EconML and many time-series packages, adopt.
In research workflows scikit-learn supplies the nuisance-function learners for double machine learning, the prediction baselines in forecasting comparisons and the preprocessing in text and tabular pipelines. It is a CPU library for datasets that fit in memory; deep learning and GPU training belong to PyTorch or JAX, and statistical inference (standard errors, tests) is the domain of statsmodels. Version 1.9.1 is current at the time of writing.
Capabilities
- Supervised learning: linear models, SVMs, trees, ensembles, nearest neighbours
- Clustering and dimensionality reduction
- Preprocessing, feature extraction and imputation
- Pipelines, cross-validation and hyperparameter search
- Metrics and model evaluation
- Consistent estimator API adopted by other libraries
Typical workflows
- Nuisance models for double/debiased machine learning
- Predictive benchmark against hedonic or econometric models
- Text feature extraction for document classification
Strengths
- Consistent, well-documented API
- BSD licence and large community
- Interoperates with pandas and the scientific stack
Limitations
- No deep learning or GPU support
- Limited statistical inference output
- In-memory, single-node
Prerequisites
- Python with NumPy and SciPy
Who it is for
- Data scientists
- Researchers using ML for prediction or nuisance estimation
- Students learning machine learning
Alternatives & comparison
statsmodels provides inference where scikit-learn provides prediction; PyTorch and JAX cover deep learning and GPU workloads; EconML builds causal estimators on scikit-learn's API.
- Create ML
Apple's app and Swift framework for training image, text, sound, tabular and activity models on a Mac without writing training code, exporting directly to Core ML
ProprietaryFree - EconML
Python library for heterogeneous treatment-effect estimation with machine learning: double ML, doubly robust learners, causal forests, meta-learners, IV and policy learning
Open sourceFree - JAX
Python library for NumPy-style array computing with composable transformations (jit, grad, vmap, shard_map) compiled through XLA to CPU, GPU and TPU
Open sourceOpen source - PyTorch
Open-source deep-learning framework with eager tensors, autograd, torch.compile and distributed training, governed by the PyTorch Foundation and the base of most LLM tooling
Open sourceOpen source - statsmodels
Python library for estimating statistical and econometric models with R-style formulas, rich result summaries and tests: OLS, GLM, discrete choice, ARIMA, state space, VAR and more
Open sourceFree
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- Licensescikit-learn COPYINGchecked Nov 1, 2026
https://github.com/scikit-learn/scikit-learn/blob/main/COPYING
Supports: license_spdx, source_model
- Official documentationchecked Nov 1, 2026
- Official sitechecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in Mathematical & statistical computing
pandas
pandas development team (NumFOCUS) · DataFrames & array computing
The standard Python DataFrame library for labeled tabular data, time series and I/O to CSV, Excel, SQL, Parquet and more
Python
Python Software Foundation · Programming languages & runtimes
General-purpose, dynamically typed programming language with a large standard library and the dominant ecosystem for data science and machine learning
QuantLib
QuantLib project (Luigi Ballabio and contributors) · Financial analysis & investing
Open-source C++ library for quantitative finance covering instruments, term structures, pricing engines and calendars, with Python and other bindings
Stata
StataCorp LLC · Mathematical & statistical computing
Commercial statistical software from StataCorp widely used in economics and social science, with editions BE/SE/MP, a command language, Mata and comprehensive PDF manuals
Lean
Lean FRO · Mathematical & statistical computing
Open-source functional programming language and interactive theorem prover with dependent types, the Mathlib mathematics library and VS Code tooling, stewarded by the Lean FRO
Positron
Posit Software, PBC · Mathematical & statistical computing
Posit's multi-language data-science IDE built on Code OSS, with first-class R and Python consoles, variables and plots panes, under the Elastic License 2.0