Skip to content

A fun project implementing and testing Pocket PLA, Linear Regression, Logistic Regression, Regularization, PCA and Transformation

Notifications You must be signed in to change notification settings

ehoxha91/machine_learning_from_scratch

Repository files navigation

Machine Learning

I have implemented few basic algorithm of machine learning, for better understanding the concepts that we use in our everyday life as scientists and engineers. I did not include any reference from books, papers and blogs. Most of the code is my work. I used sklearn datasets.

I implemented a very fast version of K-means, which it outperforms sklearn by using vectorization and it has all the basic options. The results show that the difference is huge, by a factor of ~160x faster than sklearn:

Alt Text

I implemented Principal Component Analysis from scratch. I also implemented a way to calculate an estimate of variance of the data for big datasets. I tested it with some weather data from NASA. I did not include the dataset, but I just show some maps I generated using PCA reduced data and original.

I implemented:

  • Pocket PLA
  • Linear Regression
  • Logistic Regression

For a detailed description please read the report.

I implemented:

  • multiclass logistic regression with regularization

Also used:

  • Principal Component Analysis or PCA to reduce feature dimensions
  • Feature transform to see how the degree of the transformation affects the accuracy, overfiting etc.

For a detailed description of the math behind the scene or the code please read the description

Installation of required libraries

pip3 install numpy

pip3 install pandas

pip3 install sklearn

pip3 install matplotlib

@EjupHoxha

About

A fun project implementing and testing Pocket PLA, Linear Regression, Logistic Regression, Regularization, PCA and Transformation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published