This repo contains a set of ML algorithms implemented from first principles. These notebooks help to understand the inner workings of modern ML libraries such as Scikit-Learn. Detailed analysis and visualisations are provided along with the code.
For a better experience with notebooks, it is recommended to view the repository at https://nbviewer.org/github/nveshaan/machine_learning/tree/main/
- Linear Discriminant Analysis
- Naive Bayes Classifier
- Logistic Regression
- KNN (K nearest neighbor) Classifier
- SVM: Support Vector Machine
- Trees, Forests, Bagging and Boosting
- Gaussian Processes
- Linear Regression
- Generalized Linear Models
- PCA: Principal Component Analysis
- t-SNE: t-distributed Stochastic Neighbor Embedding
- UMAP: Uniform Manifold Approximation and Projection
- K-means
- Mixture Models and EM (Expectation-Maximization)
- KDE: Kernel Density Estimation
- Kalman Filter
- Variational Inference
- Gibbs Sampling
- Importance Sampling
- Latent Factor Models (LDA, PCA, GMM)
- HMM: Hidden Markov Model
