Skip to content

Latest commit

 

History

History
75 lines (63 loc) · 2.08 KB

README.md

File metadata and controls

75 lines (63 loc) · 2.08 KB

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:
    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..