/Machine-Learning-from-Scratch

Machine Learning from Scratch

Primary LanguagePython

Machine-Learning-from-Scratch

Machine Learning from Scratch

-- Project Status: [Work in progresss]

Project Intro/Objective

The purpose of this project is to build many (if not all) of machine learning tools from scratch. Many of the codes will take inspiration from textbooks (primarily books by Chollet, Géron and Grus) as well as scipy, numpy, pandas and scikit-learn. There will be two main sections: the first will focus on non-neural-network machine learning while the second will be on neural-network (and further on deep-learning). I would like this project to serve as introduction and detailed analysis of inside-the-box implementations of many of the packages in machine learning.

Methods Used

  • Data scrapping, data cleaning and data feature engineering

  • Machine Learning: linear and logistic regresssion, k-Nearest-Neighbors (kNN), Naive Bayes, decision trees and random forest, clustering, Natural Language Processing (NLP), recommender systems (filterings)

Technologies

  • Python
  • Numpy,Pandas, Scikit-learn
  • Jupyter

Outline [Tentatively based on Grus' book]

  • Chapter 1: Introduction. Some examples to get started
  • Chapter 2: Python Crash Course. I didn't put anything here since they are standard Python materials.
  • Chapter 3: Visualizing Data
  • Chapter 4: Linear Algebra
  • Chapter 5: Statistics
  • Chapter 6: Probability
  • Chapter 7: Hypothesis and Inference
  • Chapter 8: Gradient Descent
  • Chapter 9: Getting Data
  • Chapter 10: Working with Data
  • Chapter 11: Machine Learning
  • Chapter 12: k-Nearest Neighbors
  • Chapter 13: Naive Bayes
  • Chapter 14: Simple Linear Regression
  • Chapter 15: Multiple Regression
  • Chapter 16: Logistic Regression
  • Chapter 17: Decision Tree
  • Chapter 18: Neural Networks
  • Chapter 19: Clustering
  • Chapter 20: Natural Language Processing
  • Chapter 21: Neutwork Analytic
  • Chapter 22: Recommender System
  • Chapter 23: Databases and SQL
  • Chapter 24: MapReduce

References

  1. Data Science from Scratch (Grus)
  2. Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow (Géron)
  3. Deep Learning with Python (Chollet)