Visible to Intel only — GUID: GUID-23C482E5-E094-4920-9FEE-AC56E85316B7
Visible to Intel only — GUID: GUID-23C482E5-E094-4920-9FEE-AC56E85316B7
Regression Decision Forest
Decision forest regression is a special case of the Decision Forest model.
Details
Given:
n feature vectors of size p;
their non-negative sample weights ;
the vector of responses
The problem is to build a decision forest regression model that minimizes the Mean-Square Error (MSE) between the predicted and true value.
Training Stage
Decision forest regression follows the algorithmic framework of decision forest training algorithm based on the mean-squared error (MSE) [Breiman84]. If sample weights are provided as input, the library uses a weighted version of the algorithm.
MSE is an impurity metric (D is a set of observations that reach the node), calculated as follows:
Without sample weights |
With sample weights |
---|---|
, which is equivalent to the number of elements in S |
Prediction Stage
Given decision forest regression model and vectors , the problem is to calculate the responses for those vectors. To solve the problem for each given query vector , the algorithm finds the leaf node in a tree in the forest that gives the response by that tree as the mean of dependent variables. The forest predicts the response as the mean of responses from trees.
Out-of-bag Error
Decision forest regression follows the algorithmic framework for calculating the decision forest out-of-bag (OOB) error, where aggregation of the out-of-bag predictions in all trees and calculation of the OOB error of the decision forest is done as follows:
For each vector in the dataset X, predict its response as the mean of prediction from the trees that contain in their OOB set:
, where and is the result of prediction by .
Calculate the OOB error of the decision forest T as the Mean-Square Error (MSE):
If OOB error value per each observation is required, then calculate the prediction error for :
Batch Processing
Decision forest regression follows the general workflow described in Decision Forest.
Training
For the description of the input and output, refer to Regression Usage Model.
In addition to the decision forest parameters described in Batch Processing, the training algorithm for decision forest regression has the following parameters:
Parameter |
Default Value |
Description |
---|---|---|
algorithmFPType |
float |
The floating-point type that the algorithm uses for intermediate computations. Can be float or double. |
method |
defaultDense |
The computation method used by the decision forest regression. For CPU:
For GPU: |
Output
In addition to the output of regression described in Regression Usage Model, decision forest regression calculates the result of decision forest. For more details, refer to Batch Processing.
Prediction
For the description of the input and output, refer to Regression Usage Model.
In addition to the parameters of regression, decision forest regression has the following parameters at the prediction stage:
Parameter |
Default Value |
Description |
---|---|---|
algorithmFPType |
float |
The floating-point type that the algorithm uses for intermediate computations. Can be float or double. |
method |
defaultDense |
The computation method used by the decision forest regression. The only prediction method supported so far is the default dense method. |
Examples
oneAPI DPC++
Batch Processing:
dpc_df_reg_hist_batch.cpp
oneAPI C++
Batch Processing:
cpp_df_reg_dense_batch.cpp
C++ (CPU)
Batch Processing:
Java*
Batch Processing:
Python*
Batch Processing: