Giter Site home page Giter Site logo

ogunlao / foundations_of_ml Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 5.0 338 KB

Machine Learning algorithms built from scratch for AMMI Machine Learning course

License: MIT License

Jupyter Notebook 99.89% Python 0.11%
kfold-cross-validation kmeans-clustering kl-divergence linear-regression gaussian-discriminant-analysis naive-bayes-classifier coordinate-descent perceptron-learning-algorithm

foundations_of_ml's Introduction

Machine Learning Algorithms

Algorithms written for foundations of machine learning class at AMMI

This repo contains Jupyter notebooks implementing various machine learning algorithms you will come across as you start your machine learning journey. Most are implemented as python classes which encapsulate all the various parts of the algorithm.

Getting started

To learn more about the algorithms, you may require to start with a machine learning book. I wrote a Foundations of Machine Learning Note during the course which might be helpful.

To get a copy of the notebooks, run the following command in your terminal;

git clone https://github.com/ogunlao/foundations_of_ml

The code above fetches the foundations_of_ml repository and saves it into foundations_of_ml in your current directory.

Algorithms covered

  • Advanced Numpy - Just to get comfortable with some numpy concepts
  • Model Selection Algorithm - Backward Selection
  • Coordinate descent algorithm
  • Kullback–Leibler divergence
  • Linear Algebra - Vectors and their properties
  • Linear Regression
  • Perceptron
  • Binary Logistic Regression
  • Logistic Regression with L1 Regularization
  • Logistic Regression with L2 Regularization
  • Multiclass Logistic Regression - Softmax Regression
  • Logistic Regression with Newton Algorithm
  • Gaussian Discriminant Analysis (GDA)
  • Linear Discriminant Analysis (LDA)
  • Quadratic Discriminant Analysis (QDA)
  • Gaussian Mixture Models (GMM)
  • Bernoulli-NaiveBayes
  • MultiClass - NaiveBayes
  • K-Fold Cross Validation
  • KMeans Clustering
  • Newtons Method
  • 3D Plots tutorial
  • Principal Component Analysis

Most algorithms use numpy and scipy internally for vectorized implementations. Note that these algorithms are not optimized for deployment but serve to explain the concepts in a clear way. For deployment, check out the scikit-learn python library for a start.

Licensing

This project is licensed under MIT license.

Enjoy.

foundations_of_ml's People

Contributors

ogunlao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.