# ddbourgin/numpy-ml

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ddbourgin-numpy-ml).**

16,275 stars · 3,782 forks · Python · gpl-3.0

## Links

- GitHub: https://github.com/ddbourgin/numpy-ml
- Homepage: https://numpy-ml.readthedocs.io/
- awesome-repositories: https://awesome-repositories.com/repository/ddbourgin-numpy-ml.md

## Topics

`attention` `bayesian-inference` `gaussian-mixture-models` `gaussian-processes` `good-turing-smoothing` `gradient-boosting` `hidden-markov-models` `knn` `lstm` `machine-learning` `mfcc` `neural-networks` `reinforcement-learning` `resnet` `topic-modeling` `vae` `wavenet` `wgan-gp` `word2vec`

## Description

This library is a collection of machine learning algorithms and neural network components implemented from scratch using only NumPy. It serves as an educational toolkit for constructing and experimenting with machine learning architectures, emphasizing a modular approach where algorithms are organized into self-contained, object-oriented classes.

The project distinguishes itself by relying exclusively on array-oriented programming to perform mathematical operations, ensuring that all computations are vectorized for performance. By utilizing a standardized interface for forward and backward passes, the library allows users to chain independent components to build custom models without the overhead of larger, more complex frameworks.

The software covers a broad range of data science capabilities, including linear and probabilistic modeling, matrix factorization, and tree-based learning. It also provides specialized tools for nonparametric estimation, reinforcement learning, and deep learning, alongside a suite of preprocessing utilities for signal and text data.

## Tags

### Artificial Intelligence & ML

- [Machine Learning Libraries](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning-libraries.md) — Implements machine learning algorithms and neural network components from scratch using only NumPy.
- [Deep Learning Toolkits](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-toolkits.md) — Provides a modular toolkit for constructing deep learning architectures and neural networks.
- [Ensemble Methods](https://awesome-repositories.com/f/artificial-intelligence-ml/decision-trees/ensemble-methods.md) — Supports classification and regression tasks through random forests and gradient-boosted models for predictive analysis on structured data. ([source](https://cdn.jsdelivr.net/gh/ddbourgin/numpy-ml@master/README.md))
- [Probabilistic Models](https://awesome-repositories.com/f/artificial-intelligence-ml/probabilistic-models.md) — Implements statistical models including Gaussian mixture models, Hidden Markov models, and Latent Dirichlet allocation for sequence analysis and pattern discovery. ([source](https://cdn.jsdelivr.net/gh/ddbourgin/numpy-ml@master/README.md))
- [Reinforcement Learning](https://awesome-repositories.com/f/artificial-intelligence-ml/reinforcement-learning.md) — Optimizes decision-making in dynamic environments using multi-armed bandit strategies and temporal difference learning methods. ([source](https://cdn.jsdelivr.net/gh/ddbourgin/numpy-ml@master/README.md))
- [Gradient Optimization Techniques](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/machine-learning-training/utilities/gradient-optimization-techniques.md) — Implements gradient-based optimization techniques to update model parameters and minimize prediction error.
- [Machine Learning Prototyping](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/machine-learning-prototyping.md) — Facilitates rapid experimentation and prototyping of custom machine learning architectures from scratch.
- [Neural Network Layers](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-network-layers.md) — Assembles deep learning architectures using modular layers, activation functions, and optimizers. ([source](https://cdn.jsdelivr.net/gh/ddbourgin/numpy-ml@master/README.md))
- [Kernel Density Estimation](https://awesome-repositories.com/f/artificial-intelligence-ml/kernel-density-estimation.md) — Models complex data patterns using kernel regression, k-nearest neighbors, and Gaussian processes. ([source](https://cdn.jsdelivr.net/gh/ddbourgin/numpy-ml@master/README.md))
- [Linear Regression](https://awesome-repositories.com/f/artificial-intelligence-ml/linear-regression.md) — Calculates regression and classification results using ordinary least squares, ridge, and logistic methods. ([source](https://cdn.jsdelivr.net/gh/ddbourgin/numpy-ml@master/README.md))
- [Probabilistic Modeling](https://awesome-repositories.com/f/artificial-intelligence-ml/probabilistic-modeling.md) — Provides a suite of probabilistic and linear models for classification, regression, and feature extraction.
- [Interaction Matrix Factorizers](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-deployment-and-serving/model-hubs-and-pre-made-models/model-weights/latent-factor-analyzers/interaction-matrix-factorizers.md) — Extracts latent features from large datasets using alternating least-squares and non-negative matrix factorization. ([source](https://cdn.jsdelivr.net/gh/ddbourgin/numpy-ml@master/README.md))
- [Data Preprocessing](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/data-and-checkpointing/data-preprocessing.md) — Transforms raw inputs through signal processing, tokenization, and feature encoding for algorithmic analysis. ([source](https://cdn.jsdelivr.net/gh/ddbourgin/numpy-ml@master/README.md))
- [Statistical Analysis](https://awesome-repositories.com/f/artificial-intelligence-ml/statistical-analysis.md) — Applies linear and probabilistic techniques to identify relationships and structures in datasets.
- [Training Convergence Optimization](https://awesome-repositories.com/f/artificial-intelligence-ml/training-convergence-optimization.md) — Refines model parameters through iterative cycles of prediction and error correction.

### Scientific & Mathematical Computing

- [Vectorized Array Operations](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing/vectorized-array-operations.md) — Performs all mathematical operations using vectorized array-oriented programming for high performance.

### Data & Databases

- [Nonparametric Models](https://awesome-repositories.com/f/data-databases/tabular-data-frameworks/tabular-predictive-models/nonparametric-models.md) — Implements flexible nonparametric predictive models like kernel regression and Gaussian processes.
- [Data Preprocessing Utilities](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing/ml-data-pipelines/data-preprocessing-utilities.md) — Provides utilities for transforming raw signals and text into structured formats for machine learning.

### Software Engineering & Architecture

- [Modular Framework Compositions](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/modular-framework-compositions.md) — Assembles complex models by chaining independent, modular components with standardized interfaces.
- [Object-Oriented Programming](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/object-oriented-foundations/object-oriented-programming.md) — Organizes algorithms into self-contained, object-oriented classes for state and hyperparameter management.
