---
# System prepended metadata

title: ' Machine Learning Models Classification'

---

### 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)