Skip to main content

Module random_forest_regressor

Module random_forest_regressor 

Source
Expand description

Random forest regressor

§Random Forest Regressor

A random forest is an ensemble estimator that fits multiple decision trees to random subsets of the dataset and averages predictions to improve the predictive accuracy and control over-fitting. See ensemble models for more details.

Bigger number of estimators in general improves performance of the algorithm with an increased cost of training time. The random sample of m predictors is typically set to be \(\sqrt{p}\) from the full set of p predictors.

Example:

use smartcore::linalg::basic::matrix::DenseMatrix;
use smartcore::ensemble::random_forest_regressor::*;

// Longley dataset (https://www.statsmodels.org/stable/datasets/generated/longley.html)
let x = DenseMatrix::from_2d_array(&[
            &[234.289, 235.6, 159., 107.608, 1947., 60.323],
            &[259.426, 232.5, 145.6, 108.632, 1948., 61.122],
            &[258.054, 368.2, 161.6, 109.773, 1949., 60.171],
            &[284.599, 335.1, 165., 110.929, 1950., 61.187],
            &[328.975, 209.9, 309.9, 112.075, 1951., 63.221],
            &[346.999, 193.2, 359.4, 113.27, 1952., 63.639],
            &[365.385, 187., 354.7, 115.094, 1953., 64.989],
            &[363.112, 357.8, 335., 116.219, 1954., 63.761],
            &[397.469, 290.4, 304.8, 117.388, 1955., 66.019],
            &[419.18, 282.2, 285.7, 118.734, 1956., 67.857],
            &[442.769, 293.6, 279.8, 120.445, 1957., 68.169],
            &[444.546, 468.1, 263.7, 121.95, 1958., 66.513],
            &[482.704, 381.3, 255.2, 123.366, 1959., 68.655],
            &[502.601, 393.1, 251.4, 125.368, 1960., 69.564],
            &[518.173, 480.6, 257.2, 127.852, 1961., 69.331],
            &[554.894, 400.7, 282.7, 130.081, 1962., 70.551],
        ]).unwrap();
let y = vec![
            83.0, 88.5, 88.2, 89.5, 96.2, 98.1, 99.0, 100.0, 101.2,
            104.6, 108.4, 110.8, 112.6, 114.2, 115.7, 116.9
        ];

let regressor = RandomForestRegressor::fit(&x, &y, Default::default()).unwrap();

let y_hat = regressor.predict(&x).unwrap(); // use the same data for prediction

Structs§

RandomForestRegressor
Random Forest Regressor
RandomForestRegressorParameters
Parameters of the Random Forest Regressor Some parameters here are passed directly into base estimator.
RandomForestRegressorSearchParameters
RandomForestRegressor grid search parameters
RandomForestRegressorSearchParametersIterator
RandomForestRegressor grid search iterator