Updated March 21, 2023

## Introduction to Gradient Boosting Algorithm

The technique of transiting week learners into a strong learner is called Boosting. The gradient boosting algorithm process works on this theory of execution. Ada boosting algorithm can be depicted to explain and easily understand the process through which boosting is injected into the datasets.

### Decision Tree

A decision tree is a verdict support tool that determines decisions by implying a tree-like and their probable consequences, together with possibility event outcomes, resource costs, etc. this technique allows them to display control statements that operate on conditional outcomes.

Research operations widely use these decision trees specifically in decision analysis; it also allows them to reach a goal and is also an admired tool in machine learning.

### AdaBoost Algorithm

The AdaBoost algorithm commences by the preparation of a decision tree in which every observation is allocated an equivalent weight. After assessing the primary tree, we boost the weights of that interpretation that are complicated to categorize and subordinate the weights for those that are effortless to categorize. The second tree is, as a result, developed on this prejudiced data. Here, the design is to get better upon the prophecy of the primary tree.

Then calculate the categorization error from this innovative 2-tree collection model and cultivate the third tree to foresee the modified residuals. The above procedure is iterated in a couple of instances. The observations which are not well defined in preceding trees are determined using subsequent trees. Predictions of the concluding assembly model are consequently the prejudiced figure of the predictions ended by the earlier tree models.

### Training Gradient Boosting Algorithm Model

In order to instruct a gbm model in R language, The GBM library must be installed, and a call to this installed GBM library from the calling program is instantiated.

Also, the needed arguments have to be specified; the key arguments are listed below:

- The formula
- Distribution of the response variables
- Predictor variable
- Response variable

The usual distributions used in GBM models are Bernoulli, Poisson, etc.

At last, the data and the n.trees arguments are expected to be specified By defaulting, the gbm model will take for granted 100 trees, which can offer is a good quality approximation of our gbm’s concert.

**Code #1:**

`install.packages ("gbm")`

library(gbm)

GBM <- gbm( formula = response ,

distribution = " bernoulli " ,

data = train

n.trees = 3000)

Here is the next step the actual dataset is divided into train and test dataset split, and this is achieved by using the createDataPartition() function. This kind of splitting will be greatly helpful in the later part for training the test set using the trained train set, and on top of this, the actual predictions for the original data are determined.

**Code #2:**

`TRAIN <- read.csv("Train_dd.csv")`

set.seed(77820)

intrain <- createDataPartition( y = Train$survived,

list = false )

Train <- Train[inTrain]
Train <- Train[-inTrain]

The subsequent stride is to coach a gbm model by means of our training proffer. While all additional arguments are accurately what was notified in the above sections. Two more additional arguments are mentioned- interaction, depth, and shrinkage.

1. Interaction Depth spell out the utmost depth of each tree.

2. The intellect rate measurement is achieved using the Shrinkage. Here all the supplementary values in the base learner trees are decreased using this shrinkage.

Moreover, this technique allows displaying control statements that operate on conditional outcomes. Research operations widely use these decision trees specifically in decision analysis; it also allows us to reach a goal and are also an admired tool in machine learning.

### GBM Model Output

The output of the GBM model holds details on the total number of trees implied for the execution. This will help to predict the influence of the predictor variable in the model; also, the variable importance table and model plot can be derived from the summary function of the GBM output.

#### Predict() method using GBM model

So to make the predictions on the top of the keyed data herein GBM model as, like other models, the predict method is implied. Also, the count on the total number of decision trees being used has to be manually mentioned in the method’s argument section.

**Code:**

`predictions <- predict( object = simpleGBMmodel,`

newdata = test ,

n.trees = 1)

### GBM Model Improvements

**Tree Constraints**

- It is significant that the feeble learners encompass skill but stay weak.

**Weighted Updates**

- Sequentially addition is applied from the predictions of each tree
- The donation of every tree to this amount needs to be mass to slow down the algorithm learning. This process is call shrinkage.

**Stochastic Gradient Boosting Algorithm**

- This equivalent profit can be used to decrease the association flanked by the trees.

**Penalized Gradient Boosting Algorithm**

- Parameterized trees can be filled with additional constraints; the classical decision tree cannot be used as weak learners. Instead, a customized one called a regression tree is used that has numeric values in the leaf nodes.