# eriklindernoren/ML-From-Scratch

Machine Learning From Scratch. Bare bones NumPy implementations of machine learning models and algorithms with a focus on accessibility. Aims to cover everything from linear regression to deep learning.

Repository: https://github.com/eriklindernoren/ML-From-Scratch
Canonical: https://ross.abutalabs.com/products/ml-from-scratch
Language: Python
License: MIT
License Family: permissive
Topics: machine-learning, deep-learning, deep-reinforcement-learning, machine-learning-from-scratch, data-science, data-mining, genetic-algorithm
Last push: 2023-10-15T06:05:06+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 3496, "days_push": 1053, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 32528, forks 5432 (observed 2026-08-28T04:11:57.650169+00:00)

## What it is
A Python library providing bare-bones NumPy implementations of fundamental machine learning models and algorithms, from linear regression to deep learning and reinforcement learning. It prioritizes transparency and accessibility over computational efficiency, making it ideal for learning how algorithms work internally.

## Use cases
- learn how machine learning algorithms work internally
- understand the math behind neural networks with plain numpy
- study implementations of regression, clustering, and CNNs from scratch
- teach a machine learning course with readable reference code
- explore deep reinforcement learning and genetic algorithms in python
- see how backpropagation and gradient descent are implemented

## When to choose
- you want transparent, readable implementations to learn ML fundamentals
- you need educational reference code without heavy framework dependencies
- you're teaching or studying how algorithms like CNNs, k-means, or Q-learning work

## When to avoid
- you need production-ready, optimized, or GPU-accelerated ML
- you want a maintained framework with active development and ecosystem support
- you need the latest model architectures or extensive documentation

## Facets
- artifact type: library
- maturity: maintenance
- function: machine-learning, deep-learning, reinforcement-learning, data-science
- domain: machine-learning, deep-learning, data-science, education
- platform: python
- tags: numpy, educational, from-scratch, supervised-learning, unsupervised-learning, genetic-algorithms, algorithms

## Member repositories
- eriklindernoren/ML-From-Scratch (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:57.650169+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:51:56.457585+00:00, confidence not recorded.
  - readme: https://github.com/eriklindernoren/ML-From-Scratch (fetched 2026-08-28T04:11:57.650169+00:00, sha fcc948d7f1dc)
- Data as of 2026-08-30T08:39:29.467469+00:00.
