aribis369 / ML-Starter-Pack

A collection of Machine Learning algorithms written from sctrach.
75 stars 51 forks source link
deep-learning machine-learning pytorch scikit-learn tensorflow

ML-Starter-Pack

1. Artificial Neural Network(ANN)

It contains an Artificial Neural Net implemented from scratch in Python.

2. Association Rule Learning(Apriori Method)

Association rule learning is a rule-based machine learning method for discovering interesting relations between variables in large databases.It is intended to identify strong rules discovered in databases using some measures of interestingness.The folder contains a .py file illustrating the algorithm.

3. Decision Tree Classifier

Decision tree learning uses a decision tree (as a predictive model) to go from observations about an item (represented in the branches) to conclusions about the item's target value (represented in the leaves). It contains the following implementations 1.Rain Predictor Decision Tree 2.Basic Decision Tree 3.Decision Tree visualization of Iris dataset

4. KMeans

KMeans is an unsupervised Machine Learning Algorithm, which is implemented from scratch here. Iris dataset is used for testing and training

5. KNN

K- Nearest Neighbor Classification Algorithm is widely used for classification problem. Here, the algorithm is implemented from scratch and tested first on a small example of 2 dimensional test data and then on iris dataset.

6. Linear Regression

In Linear Regression, we try to establish relationship between 2 variables by fitting a line. The best fit line is known as regression line and it is represented by a linear equation Y = a*X +b This folder contains Linear Regression implemented from scratch in Python without using any Machine Learning libraries.

7. Logistic Regression

Logistic Regression is basically a classification algorithm which is used to estimate discrete values based on given data. The folder contains an ipython notebook depicting the implementation of logistic regression without any helper machine learning libraries.

8.Demonstration of the basics of Natural Language Processing

Natural Language Processing broadly refers to the study and development of computer systems that can interpret speech and text as humans naturally speak and type it. The folder contains a basic implemetation of NLP to predict whether a costumer in a restaurant liked the food or not based on his reviews.

9. Naive Bayes

Naive Bayes is a popular classification algorithm which assumes that one variable is independent of the other. In this example, the ipython notebook implements an email spam classifier.

10.Recommendation Engines

A recommender system or a recommendation system (sometimes replacing "system" with a synonym such as platform or engine) is a subclass of information filtering system that seeks to predict the "rating" or "preference" that a user would give to an item.Contains an .ipynb file explaining the algorithm.

11. Support Vector Machine(SVM)

This folder includes the following

  1. An ipython notebook depicting basic implementation of SVM algorithm for learning basis. https://github.com/aribis369/ML-Starter-Pack/blob/master/SVM/SVM.ipynb

  2. Optimized SVM using the SMO Algorithm https://github.com/aribis369/ML-Starter-Pack/blob/master/SVM/SVMl.ipynb

  3. A pdf for explanation of SMO Algorithm https://github.com/aribis369/ML-Starter-Pack/blob/master/SVM/smo.pdf

    The folder also contains .py files of the same and some datasets for illustrating the algorithms.

12.Upper Confidence Bound(Reinforcement Learning)

The folder contains .py file implenting the algorithms.

13. Anomaly Detector

Anomaly detection is a technique used to identify unusual patterns that do not conform to expected behavior, called outliers. It is used to detect intrusions in system, fraud detection and so on. The folder contains a python file which implements an anomaly detector from scratch.

14. Collaborative Filtering

Collaborative Filtering Algorithm is used in Recommender System. In collaborative filtering, the recommender system recommends items based on how users with similar interests liked it. The python file gives a collaborative filtering algorithm for recommending items to different users based on ratings and trust of reviews.

15. Dimension Reduction

PCA (Principal Component Analysis) algorithm is used for reducing dimensions. For example, If we want to reduce our data from 3D to 2D, we can use PCA algorithm. An ipython notebook as well as a python script is added in the folder which shows the implementation of this algorithm.

16. Examples implemented using Keras

  1. Digit Recognition in MNIST dataset using CNN
  2. Iceberg Recognition from Satellite images using Keras Deep NN.
  3. Basic Neural Network using Keras.
  4. Hand Sign Recognization system using Residual Networks(ResNets)

17. Examples implemented using pyTorch

  1. Classification of biomechanical orthopedic patients using Pytorch tensor
  2. Implementing a neural network using pyTorch
  3. Hand Sign Image Recognition using Pytorch CNN.
  4. Hand Written Digit Recognition using Pytorch Deep NN.

18. Examples implemented using scikit

  1. Analyzing Iris Dataset using Linear Regression, Logistic Regression, Decision Tree, Naive Bayes and SVM.
  2. Analysis of Titanic dataset
  3. Using Bernoullis Naive Bayes to classify a mushroom dataset and predict whether it is edible or not.

19. Examples implemented using Tensorflow

  1. Digit classification from MNIST dataset using CNN
  2. Digit classification from MNIST dataset using ANN
  3. Simple Reccurent Neural Network using Tensorflow.

20. Gradient Descent

  1. Implementation of gradient descent(an optimizing algorithm) from start.
  2. Implementation of MiniBatch Gradient Descent Algorithm

21. Stock Prediction using Long Short-Term Memory (LSTM)

Recurrent Neural Networks allow information to persist, solving one major drawback of traditional neural nets. LSTMs are designed specially to avoid the long-term dependency problem. Remembering information for long periods of time is fortunately their default behavior, and not something they struggle to learn. A stock preditor using LSTM is implemented here.

17.Decision Tree Classifiers

Understanding and Implementation of Decision Tree from Scratch with different types of examples. Examples like Rain Predictor Decision Tree and Effective ways to visualize data . Go to the folder and Enjoy Learnig :

18.Recommendation Engines

Ever wondered, “what algorithm Google uses to maximize its target ads revenue?”. What about the Giant e-commerce websites like Amazon which advocates you through options such as ‘people who bought this also bought this’? The answer is Recommendation Engines. Go to the folder and Explore them from Scratch :