random forest regressor Algorithm

Random forests or random decision forests are an ensemble learning method for categorization, regression and other tasks that operate by constructing a multitude of decision trees at training time and outputting the class that is the mode of the classes (categorization) or mean prediction (regression) of the individual trees. The first algorithm for random decision forests was created by Tin Kam Ho use the random subspace method, which, in Ho's formulation, is a manner to implement the" stochastic discrimination" approach to categorization proposed by Eugene Kleinberg. 

The report also offers the first theoretical consequence for random forests in the form of a bound on the generalization mistake which depends on the strength of the trees in the forest and their correlation. The idea of random subspace choice from Ho was also influential in the design of random forests. Ho established that forests of trees dividing with oblique hyperplanes can gain accuracy as they grow without suffering from overtraining, as long as the forests are randomly restricted to be sensitive to only choose feature dimensions.
# Random Forest Regressor Example

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error


def main():

    """
    Random Forest Regressor Example using sklearn function.
    Boston house price dataset is used to demonstrate the algorithm.
    """

    # Load Boston house price dataset
    boston = load_boston()
    print(boston.keys())

    # Split dataset into train and test data
    X = boston["data"]  # features
    Y = boston["target"]
    x_train, x_test, y_train, y_test = train_test_split(
        X, Y, test_size=0.3, random_state=1
    )

    # Random Forest Regressor
    rand_for = RandomForestRegressor(random_state=42, n_estimators=300)
    rand_for.fit(x_train, y_train)

    # Predict target for test data
    predictions = rand_for.predict(x_test)
    predictions = predictions.reshape(len(predictions), 1)

    # Error printing
    print(f"Mean Absolute Error:\t {mean_absolute_error(y_test, predictions)}")
    print(f"Mean Square Error  :\t {mean_squared_error(y_test, predictions)}")


if __name__ == "__main__":
    main()

LANGUAGE:

DARK MODE: