A collection of implementions for an assortment of machine learning and deep learning algorithms with basic overviews/explanations written using Jupyter notebooks. A list of implemented algorithms can be found below.
The purposes of these implementations is to emphasize familiarity with the built-in functions available in the scikit-learn and PyTorch libraries, so they only make use of the scikit-learn built-in.
ML_demos/basic:
- Regression.ipynb: linear and logistic regression
- naiveBayes.ipynb: Naive Bayes
- SVM.ipynb: support vector machine
- kNN.ipynb: k-nearest neighbors
- Trees.ipynb: decision tree and random forest
- Clustering.ipynb: k-Means and DBScan
- XGBoost.ipynb: xgboost
- fromScratch.ipynb: various ML evaluation metrics, sampling, kNN, and feed-forward neural network from scratch (coding interview practice exercise)
ML_demos/deep_learning:
- DNN.ipynb: simple multilayer perceptron implementation, implement a basic neural network
- CNN.ipynb: implements a basic CNN
- CNN_architectures.ipynb: implements some known CNN achitectures including LeNet, AlexNet, VGG, and ResNet
- RNN.ipynb: implements an RNN with LSTM for time series data
ML_demos/reinforcement_learning:
- General deep learning
- Transformer
- GAN
- Autoencoder
- RL algorithms