Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Python
  • R Language
  • Python for Data Science
  • NumPy
  • Pandas
  • OpenCV
  • Data Analysis
  • ML Math
  • Machine Learning
  • NLP
  • Deep Learning
  • Deep Learning Interview Questions
  • Machine Learning
  • ML Projects
  • ML Interview Questions
Open In App
Next Article:
Boosting in Machine Learning | Boosting and AdaBoost
Next article icon

Boosting in Machine Learning | Boosting and AdaBoost

Last Updated : 14 May, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Boosting is an ensemble learning technique that sequentially combines multiple weak classifiers to create a strong classifier. It is done by training a model using training data and is then evaluated. Next model is built on that which tries to correct the errors present in the first model. This procedure is continued and models are added until either the complete training data set is predicted correctly or predefined number of iterations is reached.

Think of it like in a class a teacher focuses more on weak learners to improve its academic performance similarly boosting works.

Adaboost and its working

AdaBoost (Adaptive Boosting) is a boosting technique that assigns equal weights to all training samples initially and iteratively adjusts these weights by focusing more on misclassified datapoints for next model. It effectively reduces bias and variance making it useful for classification tasks but it can be sensitive to noisy data and outliers.

Training a boosting model 

The above diagram explains the AdaBoost algorithm in a very simple way. Let’s try to understand it in a stepwise process: 

Step 1: Initial Model (B1)

  • The dataset consists of multiple data points (red, blue and green circles).
  • Equal weight is assigned to each data point.
  • The first weak classifier attempts to create a decision boundary.
  • 8 data points are wrongly classified.

Step 2: Adjusting Weights (B2)

  • The misclassified points from B1 are assigned higher weights (shown as darker points in the next step).
  • A new classifier is trained with a refined decision boundary focusing more on the previously misclassified points.
  • Some previously misclassified points are now correctly classified.
  • 6 data points are wrongly classified.

Step 3: Further Adjustment (B3)

  • The newly misclassified points from B2 receive higher weights to ensure better classification.
  • The classifier adjusts again using an improved decision boundary and 4 data points remain misclassified.

Step 4: Final Strong Model (B4 - Ensemble Model)

  • The final ensemble classifier combines B1, B2 and B3 to get strengths of all weak classifiers.
  • By aggregating multiple models the ensemble model achieves higher accuracy than any individual weak model.

Now that we have learned how boosting works using Adaboost now we will learn more about different types of boosting algorithms.

Types Of Boosting Algorithms

There are several types of boosting algorithms some of the most famous and useful models are as :

  1. Gradient Boosting: Gradient Boosting constructs models in a sequential manner where each weak learner minimizes the residual error of the previous one using gradient descent. Instead of adjusting sample weights like AdaBoost Gradient Boosting reduces error directly by optimizing a loss function.
  2. XGBoost: XGBoost is an optimized version of Gradient Boosting that uses regularization to prevent overfitting. It is faster, efficient and supports handling both numerical and categorical variables.
  3. CatBoost: CatBoost is particularly effective for datasets with categorical features. It employs symmetric decision trees and a unique encoding method that considers target values, making it superior in handling categorical data without preprocessing.

Boosting vs Bagging 

Bagging is another ensemble learning technique used to improve accuracy. Unlike bagging where models are trained independently on different machine learning models, Boosting models are trained sequentially with each model correcting the errors of its predecessor. Here is a in depth difference between them:

Feature             Boosting                                      Bagging                                
Combination TypeCombines predictions of different weak modelsCombines predictions of the same type of model
GoalReduces biasReduces variance
Model DependencyNew models depend on previous models' errorsAll the models have the same weightage
WeightingModels are weighted based on performanceAll models have equal weight.

Training Data Sampling

Each new model focuses more on the misclassified examples

Each model is trained on random subset of data

Error handling

Focuses on correcting errors made by previous models

Averages out errors from multiple models

Parallelism

Models are built sequentially less parallelizable

Models can be built in parallel

Overfitting

Less prone to overfitting with proper regularization

Can be prone to overfitting with complex base models

Model Complexity

Typically uses simpler models (like decision stumps)

Can use complex models (like full decision trees)

Example

AdaBoost, Gradient Boosting, XGBoost, LightGBM

Random Forest, Bagged Decision Trees

Advantages of Boosting 

  • Improved Accuracy: By combining multiple weak learners it enhances predictive accuracy for both classification and regression tasks.
  • Robustness to Overfitting: Unlike traditional models it dynamically adjusts weights to prevent overfitting.
  • Handles Imbalanced Data Well: It prioritizes misclassified points making it effective for imbalanced datasets.
  • Better Interpretability: The sequential nature of helps break down decision-making making the model more interpretable.

By understanding Boosting and its applications we can use its capabilities to solve complex real-world problems effectively.


Next Article
Boosting in Machine Learning | Boosting and AdaBoost

R

raman_257
Improve
Article Tags :
  • Machine Learning
  • AI-ML-DS
  • data-science
Practice Tags :
  • Machine Learning

Similar Reads

    Bagging vs Boosting in Machine Learning
    As we know, Ensemble learning helps improve machine learning results by combining several models. This approach allows the production of better predictive performance compared to a single model. Basic idea is to learn a set of classifiers (experts) and to allow them to vote. Bagging and Boosting are
    5 min read
    CatBoost in Machine Learning
    When working with machine learning we often deal with datasets that include categorical data. We use techniques like One-Hot Encoding or Label Encoding to convert these categorical features into numerical values. However One-Hot Encoding can lead to sparse matrix and cause overfitting. This is where
    5 min read
    Demand forecasting in retail using catboost
    In the fast-paced world of retail, accurate demand forecasting is crucial for optimizing inventory management, minimizing costs, and ensuring customer satisfaction. Traditional forecasting methods often fall short in capturing the complexity and dynamic nature of retail demand. This is where advance
    8 min read
    Easy Ensemble Classifier in Machine Learning
    The Easy Ensemble Classifier (EEC) is an advanced ensemble learning algorithm specifically designed to address class imbalance issues in classification tasks. It enhances the performance of models on imbalanced datasets by leveraging oversampling and ensembling techniques to improve classification a
    5 min read
    Explainable Boosting Machines (EBMs)
    Explainable Boosting Machines (EBMs) are a type of Generalized Additive Model (GAM) designed to blend the strengths of machine learning with statistical modeling. Developed as part of the InterpretML toolkit by Microsoft Research, EBMs aim to provide powerful predictive models that are both interpre
    5 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences