ML-From-Scratch: Machine Learning Models and Algorithms in NumPy

This repository profile is provided by osrepos.com, an open source repository discovery platform.

ML-From-Scratch: Machine Learning Models and Algorithms in NumPy

Summary

ML-From-Scratch is a comprehensive GitHub repository offering bare-bones NumPy implementations of fundamental machine learning models and algorithms. It emphasizes accessibility, making complex concepts easier to understand for learners and practitioners. This project covers a wide range of topics, from linear regression to deep learning and reinforcement learning, all implemented from scratch.

Repository Information

Analyzed by OSRepos on March 9, 2026

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Introduction

The ML-From-Scratch repository by eriklindernoren is an exceptional resource for anyone looking to understand the core mechanics of machine learning. It provides Python implementations of fundamental machine learning models and algorithms, built entirely from scratch using NumPy. The primary goal of this project is not optimization, but rather to present the inner workings of these algorithms in a transparent and accessible way, making it an invaluable educational tool. From supervised and unsupervised learning to deep learning and reinforcement learning, this repository offers a hands-on approach to mastering machine learning concepts.

Installation

To get started with ML-From-Scratch, follow these simple steps:

$ git clone https://github.com/eriklindernoren/ML-From-Scratch
$ cd ML-From-Scratch
$ python setup.py install

Examples

The repository includes numerous examples demonstrating the practical application of the implemented algorithms. Here are a few highlights:

Polynomial Regression

Explore how a regularized polynomial regression model fits temperature data.

$ python mlfromscratch/examples/polynomial_regression.py

Polynomial Regression Example

Classification With CNN

See a Convolutional Neural Network (CNN) in action, classifying the digit dataset.

$ python mlfromscratch/examples/convolutional_neural_network.py
+---------+
| ConvNet |
+---------+
Input Shape: (1, 8, 8)
+----------------------+------------+--------------+
| Layer Type           | Parameters | Output Shape |
+----------------------+------------+--------------+
| Conv2D               | 160        | (16, 8, 8)   |
| Activation (ReLU)    | 0          | (16, 8, 8)   |
| Dropout              | 0          | (16, 8, 8)   |
| BatchNormalization   | 2048       | (16, 8, 8)   |
| Conv2D               | 4640       | (32, 8, 8)   |
| Activation (ReLU)    | 0          | (32, 8, 8)   |
| Dropout              | 0          | (32, 8, 8)   |
| BatchNormalization   | 4096       | (32, 8, 8)   |
| Flatten              | 0          | (2048,)      |
| Dense                | 524544     | (256,)       |
| Activation (ReLU)    | 0          | (256,)       |
| Dropout              | 0          | (256,)       |
| BatchNormalization   | 512        | (256,)       |
| Dense                | 2570       | (10,)        |
| Activation (Softmax) | 0          | (10,)        |
+----------------------+------------+--------------+
Total Parameters: 538570

Training: 100% [------------------------------------------------------------------------] Time: 0:01:55
Accuracy: 0.987465181058

CNN Classification Example

Generating Handwritten Digits with GANs

Witness a Generative Adversarial Network (GAN) learning to generate handwritten digits.

$ python mlfromscratch/unsupervised_learning/generative_adversarial_network.py

GAN Handwritten Digit Generation Example

Deep Reinforcement Learning

Observe a Deep Q-Network solving the CartPole-v1 environment from OpenAI gym.

$ python mlfromscratch/examples/deep_q_network.py

Deep Q-Network CartPole Example

Why Use ML-From-Scratch?

This repository is ideal for:

  • Deepening Understanding: By implementing algorithms from scratch, it offers unparalleled insight into their mathematical foundations and operational mechanisms.
  • Educational Purposes: It serves as an excellent learning resource for students and self-learners in machine learning, data science, and artificial intelligence.
  • NumPy Proficiency: It's a great way to improve your NumPy skills by seeing how complex algorithms are built using its core functionalities.
  • Comprehensive Coverage: It spans a broad spectrum of machine learning paradigms, including supervised, unsupervised, reinforcement, and deep learning.

Links

Related repositories

Similar repositories that may be relevant next.

AI-Agents-Projects-Tutorials: Comprehensive Guide to AI Agent Development

AI-Agents-Projects-Tutorials: Comprehensive Guide to AI Agent Development

July 28, 2026

The AI-Agents-Projects-Tutorials repository offers an extensive collection of code implementations and tutorials for building advanced AI agents. It covers fundamental concepts such as multi-agent systems, memory management, planning, and reasoning loops. This resource is ideal for developers and researchers seeking practical insights into agentic AI development.

agentic-aimulti-agent-systemsai-agents
AsterMind-ELM: Modular Extreme Learning Machine for On-Device ML in JS/TS

AsterMind-ELM: Modular Extreme Learning Machine for On-Device ML in JS/TS

July 21, 2026

AsterMind-ELM is a JavaScript/TypeScript library that modernizes Extreme Learning Machines (ELMs) for instant, on-device machine learning in web applications. It offers advanced features like Kernel ELMs, Online ELM, and DeepELM, enabling fast, private, and interpretable AI directly in the browser. This framework allows for building decentralized, self-training ML systems without relying on GPUs or servers.

artificial-intelligencemachine-learningextreme-learning-machine
Awesome-pytorch-list: A Comprehensive Collection of PyTorch Resources

Awesome-pytorch-list: A Comprehensive Collection of PyTorch Resources

July 20, 2026

The "Awesome-pytorch-list" is an extensive GitHub repository curating a wide range of PyTorch-related content. It serves as a valuable resource for developers and researchers, offering a structured overview of models, implementations, helper libraries, and tutorials. This list simplifies the discovery of essential tools and learning materials within the PyTorch ecosystem.

awesome-listpytorchdeep-learning
Axolotl: Streamlining LLM Fine-tuning with a Powerful Open-Source Framework

Axolotl: Streamlining LLM Fine-tuning with a Powerful Open-Source Framework

July 7, 2026

Axolotl is a comprehensive, free, and open-source framework designed to simplify the post-training and fine-tuning processes for large language models (LLMs). It offers extensive model support, diverse training methods, and robust performance optimizations, making it an invaluable tool for researchers and developers. With easy configuration and cloud-ready deployment, Axolotl empowers users to efficiently customize and enhance LLMs.

fine-tuningllmpython

Source repository

Open the original repository on GitHub.

11 counted GitHub visits

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️