An open API service indexing awesome lists of open source software.

https://github.com/xcollab/ml-algorithms-from-scratch

A comprehensive collection of machine learning algorithms implemented from scratch and using popular libraries, with detailed explanations and practical examples.
https://github.com/xcollab/ml-algorithms-from-scratch

Last synced: 11 months ago
JSON representation

A comprehensive collection of machine learning algorithms implemented from scratch and using popular libraries, with detailed explanations and practical examples.

Awesome Lists containing this project

README

          

# ML-Algorithms-From-Scratch

A comprehensive collection of machine learning algorithms implemented both from scratch and using popular libraries. Each implementation includes detailed explanations, mathematical concepts, and practical examples.

## 🎯 Project Goal
This repository aims to provide clear, well-documented implementations of machine learning algorithms to help understand their inner workings. Each algorithm is implemented twice:
1. From scratch using NumPy (to understand the core concepts)
2. Using popular libraries like scikit-learn (for practical applications)

## 🗂️ Algorithms Included
- Linear Regression
- Methods:
- Gradient Descent
- Normal Equation
- Simple Linear Regression
- Multiple Linear Regression
- Polynomial Regression
- Gradient Descent
- Batch Gradient Descent
- Stochastic Gradient Descent
- Neural Networks
- Neural Network from Scratch
- Decision Tree
- PINN (Physics Inform Neural Network)

- More algorithms coming soon:
- Logistic Regression
- Support Vector Machines
- K-means Clustering
- Naive Bayes
- Dimensionality Reduction

## 📚 Features
- Detailed Jupyter notebooks with step-by-step explanations
- Mathematical concepts and formulas
- Visualizations of algorithm behavior
- Performance comparisons
- Real-world examples and use cases
- Comprehensive documentation

## 🛠️ Technologies Used
- Python 3.8+
- NumPy
- Matplotlib
- scikit-learn
- Jupyter Notebook

## 🚀 Getting Started
1. Clone the repository
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Navigate to any algorithm folder
4. Open the Jupyter notebooks to see implementations

## 📖 Learning Path
Each algorithm folder contains:
- Theoretical explanation
- Step-by-step implementation
- Visualization of results
- Practical examples
- Performance evaluation

## 🤝 Contributing
Contributions are welcome! Feel free to:
- Add new algorithms
- Improve existing implementations
- Add more examples
- Enhance documentation

## 📝 License
This project is licensed under the MIT License - see the LICENSE file for details..