Skip to content

This repository showcases various coding projects related to different machine learning concepts.

Notifications You must be signed in to change notification settings

kianomoomi/Machine-Learning-Course-Projects

Repository files navigation

Machine Learning Course Projects

This repository showcases various coding projects related to different machine learning concepts. I will provide detailed information about each project below:

Linear Regression

In this project, I implemented linear regression from scratch and compared my model with the linear regression model from the sklearn library.

LDA-QDA

In this project, I implemented Linear Discriminant Analysis (LDA) and Quadratic Discriminant Analysis (QDA) from scratch. I then compared these custom implementations with the LDA and QDA models from the sklearn library. Additionally, I analyzed the results using metrics such as precision, recall, F1 score, and ROC AUC score.

Logistic Regression

In this project, I implemented logistic regression from scratch, using custom gradient descent logistic regression, as well as utilizing PyTorch. I then compared these implementations with the logistic regression model from the sklearn library, evaluating them with various metrics.

Document classification using Naive Bayes

In this project, I began by applying several NLP techniques to prepare the data for the model. Following the data preprocessing, I implemented Naive Bayes from scratch to classify documents. I then compared my custom Naive Bayes implementation with the Naive Bayes model from the sklearn library. The comparison was conducted using various metrics to evaluate their performance.

Lasso and Ridge Regression

In this project, I implemented Lasso and Ridge regression, which are L1 and L2 regularization techniques, respectively. I then compared my implementations with the Lasso and Ridge regression models from scikit-learn. The comparison was conducted using various metrics to evaluate their performance.

Beyond Linearity

In this project, I initially conducted data exploration and preprocessing to prepare the data. Following that, I applied non-linear models, such as polynomial regression and spline regression, and compared their results using various metrics.

SVM - PCA - Neural Networks

In this project, I constructed a face recognition model using Support Vector Machine (SVM) from individuals' images, implemented entirely from scratch. I then compared this custom SVM model with the SVM model from scikit-learn. Afterward, I applied PCA dimension reduction techniques from scratch to reduce the dimensions of these images.

Additionally, I implemented the k-means algorithm from scratch to cluster the images. Subsequently, I augmented the dataset by applying techniques such as random flipping and random rotation to increase its size.

In the next phase, I built a neural network using TensorFlow, trained it, and used it to classify the images. I evaluated the model's performance using various metrics.

About

This repository showcases various coding projects related to different machine learning concepts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published