Welcome to my Machine Learning repository! This repository is a comprehensive collection of projects and tutorials covering a wide range of machine learning topics. Whether you're a beginner or an experienced practitioner, you'll find valuable resources to enhance your ML skills.
- ML Intro - Basic
- ML Intro - Categories of ML Algorithms
- ML Intro - Python Libs
- ML Intro - Data Preprocessing
- ML Intro - Model Evaluation
Name of Algorithm | Description | Type - of Algo | Year |
---|---|---|---|
Linear Regression | Predicts a continuous output variable based on one or more input features. | - Supervised Learning |
Late 19th century |
Logistic Regression | Used for binary classification tasks (predicting a binary outcome). | - Supervised Learning |
1958 |
k-Nearest Neighbors (kNN) | Classifies a data point based on how its neighbors are classified. | - Supervised Learning |
1952 |
Naive Bayes | A group of algorithms based on applying Bayes' theorem with strong independence assumptions between features. | - Supervised Learning |
Mid 20th century |
Decision Trees | A flowchart-like tree structure where an internal node represents a feature, and each leaf node represents a decision outcome. | - Supervised Learning |
1980s |
Support Vector Machines (SVM) | Finds a hyperplane in an N-dimensional space that distinctly classifies data points. | - Supervised Learning |
1995 |
Ridge Regression | Addresses some of the problems of ordinary least squares by imposing a penalty on the size of coefficients. | - Supervised Learning |
1960s |
Lasso Regression | Performs L1 regularization to allow for feature selection. | - Supervised Learning |
1996 |
Elastic Net Regression | A regularized regression method that linearly combines L1 and L2 penalties of the Lasso and Ridge methods. | - Supervised Learning |
2005 |
Support Vector Regression (SVR) | A type of SVM used for regression challenges. | - Supervised Learning |
late 1990s |
Random Forest | An ensemble of decision trees, typically used for classification problems. | - Supervised Learning |
2001 |
AdaBoost (Adaptive Boosting) | Combines multiple weak classifiers to increase the accuracy of classifiers. | - Supervised Learning |
1996 |
Gradient Boosting Machines (GBM) | An ensemble technique that builds models sequentially, each correcting its predecessor. | - Supervised Learning |
late 1990s |
Extreme Gradient Boosting (XGBoost) | A scalable and accurate implementation of gradient boosting machines. | - Supervised Learning |
2014 |
LightGBM | A gradient boosting framework designed for speed and efficiency. | - Supervised Learning |
2017 by Microsoft |
CatBoost | An algorithm that uses gradient boosting on decision trees, with support for categorical variables. | - Supervised Learning | 2017 |
K-Means Clustering | Partitions n observations into k clusters where each observation belongs to the cluster with the nearest mean. | - Unsupervised Learning |
1967 |
Hierarchical Clustering | Builds a hierarchy of clusters either through a bottom-up (agglomerative) or top-down (divisive) approach. | - Unsupervised Learning |
Early to mid-20th century |
Principal Component Analysis (PCA) | A dimensionality reduction technique that transforms a large set of variables into a smaller one that still contains most of the information. | - Unsupervised Learning |
1930s |
DBSCAN | A density-based clustering algorithm. | - Unsupervised Learning |
1996 |
Affinity Propagation | Creates clusters by sending messages between pairs of samples. | - Unsupervised Learning |
2007 |
Spectral Clustering | Uses the spectrum (eigenvalues) of the similarity matrix to reduce dimensions before clustering. | - Unsupervised Learning |
Late 20th century |
t-Distributed Stochastic Neighbor Embedding (t-SNE) | A non-linear dimensionality reduction technique well-suited for embedding high-dimensional data for visualization. | - Unsupervised Learning |
2008 |
Independent Component Analysis (ICA) | A computational method to separate a multivariate signal into additive independent non-Gaussian signals. | - Unsupervised Learning |
1994 |
Self-Organizing Maps (SOMs) | An unsupervised learning algorithm that reduces the dimensions of data through a neural network. | - Unsupervised Learning |
1980s |
Artificial Neural Networks (ANN) | Consists of 'neurons' arranged in layers that process data based on a set of weights and activation functions. | - Deep Learning |
1980s |
Convolutional Neural Networks (CNN) | Particularly effective for image recognition and processing tasks. | - Deep Learning |
1980s |
Recurrent Neural Networks (RNN) | Suitable for processing sequences of data by having loops to allow information persistence. | - Deep Learning |
1980s |
Long Short-Term Memory Networks (LSTM) | A type of RNN capable of learning order dependence in sequence prediction problems. | - Deep Learning |
1997 |
Autoencoders | Neural networks used for unsupervised learning of efficient codings. | - Deep Learning |
1980s |
Generative Adversarial Networks (GANs) | Consists of two networks, a generator and a discriminator, which contest with each other. | - Deep Learning |
2014 |
Bidirectional Encoder Representations from Transformers (BERT) | Designed to understand the context of a word in a sentence, bidirectionally. | - Deep Learning |
2018 |
U-Net | Used for fast and precise segmentation of images. | - Deep Learning |
2015 |
YOLO (You Only Look Once) | A real-time object detection system. | - Deep Learning |
2016 |
Siamese Networks | Used in tasks that involve finding the relationship between two comparable things. | - Deep Learning |
1990s |
Q-Learning | A model-free reinforcement learning algorithm to learn the value of an action in a particular state. | - Reinforcement Learning |
1992 |
Deep Q-Network (DQN) | Combines Q-learning with deep neural networks. | - Reinforcement Learning |
2013 |
Proximal Policy Optimization (PPO) | A policy gradient method for reinforcement learning. | - Reinforcement Learning |
2017 |
Trust Region Policy Optimization (TRPO) | Maximizes a surrogate objective function using trust region methods. | - Reinforcement Learning |
2015 |
Temporal Difference (TD) Learning | A mix of Monte Carlo ideas and dynamic programming methods. | - Reinforcement Learning |
1980s |
Apriori | 1994 | ||
ECLAT | 1997 | ||
FP Growth | 2000 | ||
UMap | 2018 | ||
MCTS | 2006 | ||
Policy Gradient Methods | 1990s | ||
Actor Critic | early 21st centuary | ||
GRU | 2014 | ||
VAEs | 2010s | ||
Transformer Networks | 2017 | ||
GPT | 2018 |
Feel free to dive in! Open an Issue or submit PRs.
Apache 2.0