scikit-learn – Machine Learning in Python

Last Updated on July 25, 2023

scikit-learn is an open source Python module for machine learning built on top of SciPy. It offers efficient versions of a large number of common algorithms. The software displays a clean, uniform, and streamlined API, with good online documentation.

The software provides 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.

scikit-learn is largely written in Python, with some core algorithms written in Cython to optimise performance.

scikit-learn is one of the most useful modules for machine learning in Python.

The software has the following dependencies:

  • Python (>= 2.7 or >= 3.4)
  • NumPy (>= 1.8.2)
  • SciPy (>= 0.13.3)

scikit-learn also uses CBLAS, the C interface to the Basic Linear Algebra Subprograms library, and matplotlib to generate the supplied examples.

Features include:

  • Simple and efficient tools for data mining and data analysis.
  • Supervised learning algorithms – great coverage for this type of algorithm. There’s generalised Linear Modules, Linear and Quadratic Discriminant Analysis, Support Vector Machines, Decision Trees, Bayesian methods, Gaussian Processes, Neural network models, and more.
  • Cross-validation – various methods to check the accuracy of supervised models on unseen data.
  • Unsupervised learning algorithms – again, a wide range of algorithms are available, including Gaussian mixture modules, manifold learning, clustering, factor analysis, covariance estimation, density estimation, and more.
  • Dataset transformations – provides a library of transformers, which clean, reduce, expand, or generate feature representations.
  • Feature extraction – useful for extracting features from images and text.
  • Various sample datasets – the datasets are useful in learning how to use scikit-learn. They include: Boston house prices dataset, iris dataset, diabetes dataset, digits dataset, linnerud dataset, wine dataset, and a breast cancer dataset.
  • Built on NumPy, SciPy, and matplotlib.

Website: scikit-learn.org
Support: Documentation, GitHub, Gitter, Mailing List
Developer: scikit team
License: New BSD License

scikit-learn

scikit-learn is written in Python. Learn Python with our recommended free books and free tutorials.

Return to Essential Python Tools


Explore Linux

Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category.
In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality.

The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions.
Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others.
Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems.
Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks.
Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems.
Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux.
Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools.
Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux.
Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux.