Random forest is a popular ensemble learning method used for both classification and regression because of its simplicity, flexibility and superior performance. The random forest training algorithm uses bootstrap aggregation or bagging to reduce the variance of the model.
Random forest models can be trained efficiently on large datasets. The training set for each tree is about two-thirds of the original data and is drawn by bootstrap sampling with replacement. The remaining one-third of the training data are left out to be used to maintain a running unbiased estimate of the classification error and variable importance. Random forest takes only a random subset of features instead of finding the most important feature for splitting a node. This leads to more diversity and less correlation among trees, which in turn leads to better model performance.
The random forest model performance depends on two factors:
Decision trees suffer from high variance. In general, averaging a set of observations reduces variance. A natural way to reduce the variance and increase the prediction performance of a statistical learning method is to take many training sets from the population, build a separate prediction model using each training set, and average the resulting predictions. This fundamental learning concept is the key idea behind random forest.
Random forest is a powerful and popular method. Random forest is easy to tune with intuitive hyperparameters that usually produce a great result, even without hyperparameter tuning. It can be used for both regression and classification tasks, plus it’s easy to view the relative importance it assigns to the input features. These are all favorable properties for a machine learning model. One of the biggest problems in machine learning is overfitting, but random forest models tend to generalize well without overfitting, particularly as the number of trees in the random forest model increases.
Random forest models are supported on MLPipelines, a C3 AI® Platform artifact that dramatically simplifies the training, deployment, and maintenance of ML models at scale. Other C3 AI Platform services such as hyperparameter optimization are supported on top of MLPipelines, simplifying the tuning of such models.