### Supervised Learning Models and Groups:
- In supervised learning, models are trained on labeled data, which means you have input data with corresponding output labels.
- The goal is to learn the mapping between input features and target labels.
- Supervised models are used for tasks where you want to make predictions or classify data into predefined categories.
1. **Classification Models:**
- Purpose:
Classification models are designed to assign a category or label to input data.
- Common Use Cases:
These models are used for tasks like spam detection, image classification, sentiment analysis, and disease diagnosis.
- Key Models:
1. Logistic Regression:
- Logistic regression is used for binary or multi-class classification tasks. It models the probability that a given input belongs to a particular class.
- Scikit-learn
[Logitic Regression Note](https://hackmd.io/vMHC5WKIQ3i-v7mdW4-R5g?view)
2. Decision Trees:
- Decision trees split data into branches based on feature values to make decisions. They are interpretable and can be used for classification and regression tasks.
- Scikit-learn
[Decision Tree Note](https://hackmd.io/2HA0P0brQ7CJ0yZO9J96iw?view)
3. Random Forest:
- Random forests are ensembles of decision trees. They combine multiple decision trees to improve accuracy and reduce overfitting in classification and regression problems.
- Scikit-learn
[Random Forest Note](https://hackmd.io/3cDfTgiaTfqCdLN8YSaXhA?view)
4. Support Vector Machines (SVM):
- SVMs are used for binary classification. They find the best hyperplane that separates data into two classes while maximizing the margin between them.
- Scikit-learn
[SVM Note](https://hackmd.io/37aZxZGmQ6CrDtPPy_QIKg?view)
5. K-Nearest Neighbors (KNN):
- KNN classifies data points by considering the class of their nearest neighbors. It’s simple and effective for classification tasks.
- Scikit-learn
[K-Nearest Neighbors Note](https://hackmd.io/wpYUQSi8TJGysu95ajklzg?view)
6. Naive Bayes:
- Naive Bayes is a probabilistic classifier based on Bayes’ theorem. It’s particularly effective for text classification tasks like spam detection.
- Scikit-learn
[Naive Bayes](https://hackmd.io/aXGuCwnoTyiOkeYHxZOCHA)
2. **Regression Models:**
* Purpose:
Regression models predict continuous numeric values based on input features.
* Common Use Cases:
They are used for tasks like house price prediction, stock price forecasting, and demand forecasting.
* Key Models:
1. Linear Regression:
- Linear regression models the relationship between a dependent variable and one or more independent variables by fitting a linear equation to the data.
- Scikit-learn
[Linear Regression Note](https://hackmd.io/nHVdB5x3Q4-ABZtIPK2z0g?view=)
### Unsupervised Learning Models and Groups:
- In unsupervised learning, models are trained on unlabeled data, which means there are no predefined output labels.
- The goal is to discover patterns, structures, or relationships within the data.
- Unsupervised models are used for tasks like clustering similar data points, reducing dimensionality, or learning representations.
3. **Clustering Models:**
* Purpose:
Clustering models group data points into clusters based on similarity or proximity.
* Common Use Cases:
Clustering is used for customer segmentation, anomaly detection, and image segmentation.
* Key Models:
1. K-Means Clustering:
- K-Means clusters data into groups based on similarity, aiming to minimize the distance between data points within each cluster.
- Scikit-learn
[K-Means Clustering Note](https://hackmd.io/Psm6gLSVTcuIjuN0sTru5w?view)
4. **Ensemble Models:**
* Purpose:
Ensemble models combine multiple individual models to improve predictive performance and reduce overfitting.
* Common Use Cases:
Ensemble methods are used for a wide range of classification and regression problems.
* Key Models:
1. Gradient Boosting (e.g., XGBoost, LightGBM):
- Gradient boosting combines multiple weak learners (usually decision trees) to create a strong predictive model. It’s versatile and performs well in various tasks.
- Scikit-learn
[Gradient Boosting Note](https://hackmd.io/eSLQW1CQT5-szAZAZ0FtZg?view)
5. **Deep Learning Models:**
* Purpose:
Deep learning models, inspired by the human brain, are used for complex tasks involving large datasets.
* Common Use Cases:
They are employed in image recognition, natural language processing, speech recognition, and autonomous driving.
* Key Models:
- Neural Networks (Deep Learning):
* This model consist of layers of interconnected nodes (neurons) inspired by the human brain. They are used for complex tasks like image classification, natural language processing, and more.
* Keras (TensorFlow)
1. Convolutional Neural Networks (CNNs):
- CNNs are specialized for image-related tasks. They use convolutional layers to extract features from images.
- Keras (TensorFlow)
[CNN Note](https://hackmd.io/z3Sz8Pc3SoeB_oYNSRZg7A)
2. Recurrent Neural Networks (RNNs):
- RNNs are designed for sequential data, making them suitable for tasks like text generation, language translation, and time series forecasting.
- Keras (TensorFlow)
[RNN Note](https://hackmd.io/jD7sl-cdQHKlLmNrMwnMqg)
3. Transformers:
- Transformers are state-of-the-art models for natural language processing. They’ve revolutionized tasks like language understanding, question answering, and language generation.
- Keras (TensorFlow)
[Transformers Note](https://hackmd.io/1W1UYUsBSHeOXs96aSssBg)
4. Autoencoders:
- Autoencoders are used for unsupervised learning and dimensionality reduction. They aim to reconstruct their input and are often employed for anomaly detection.
- Keras (TensorFlow)
[Autoencoders Note](https://hackmd.io/9eSJ87UISBCW7e4QGWTaHA)
5. Long Short-Term Memory (LSTM):
- LSTMs are specialized RNNs with memory cells, making them effective for long sequences and time series data.
- Keras (TensorFlow)
[LSTM Note](https://hackmd.io/BvFHVXzXQxOYMQxcmaH45A)
6. Generative Adversarial Networks (GANs):
- GANs consist of a generator and a discriminator that compete in a game. They are used for image generation and data augmentation.
- Keras (TensorFlow)
[GANs Note](https://hackmd.io/8SGy-yB1S4iB-QMBn1DUKg)
7. Siamese Networks:
- Siamese networks are designed to measure similarity or dissimilarity between pairs of data points. They find applications in face recognition and similarity-based tasks.
- Keras (TensorFlow)
[Siamese Network Note](https://hackmd.io/vAYj5OX3TDWpEc_yr6J5uw)
6. **Reinforcement Learning Models:**
* Purpose:
Reinforcement learning models focus on training agents to take actions in an environment to maximize a reward signal.
* Common Use Cases:
They are used in robotics, game playing (e.g., chess, Go), and autonomous systems.
* Key Models:
1. Reinforcement Learning (e.g., Deep Q-Networks):
- Reinforcement learning focuses on training agents to take actions in an environment to maximize a reward signal. Deep Q-Networks (DQNs) are a deep learning approach to reinforcement learning.
- Typically implemented using specialized reinforcement learning libraries (e.g., TensorFlow’s Reinforcement Learning or OpenAI Gym).
[Reinforcement Learning Note](https://hackmd.io/iglErJ06SHmzjxZLgpN3SA)
7. **Dimensionality Reduction Models:**
* Purpose:
Dimensionality reduction models reduce the number of features while preserving important information.
* Common Use Cases:
They are used for data visualization, feature selection, and reducing computational complexity.
* Key Models:
1. Principal Component Analysis (PCA):
- PCA reduces the dimensionality of data while preserving as much variance as possible. It’s often used for data visualization and speeding up machine learning algorithms.
- Scikit-learn
[PCA Note](https://hackmd.io/UoUAj6RkRv2tN3StOrW2fA)