Egyesítő tanulás: A tanulás fellendítése és összevonása azt jelenti, hogy több algoritmust vagy ugyanazt az algoritmust többszörösen alkalmazza, és összeállítja őket, hogy az eredetinél sokkal erősebbet hozzon létre.

A véletlenszerű erdő csak döntési fák csapata. A véletlenszerű erdő végső előrejelzése egyszerűen az összes különböző döntési fa különböző előrejelzéseinek átlaga.

Íme a Random Forest 4 lépéses módja

#1 Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
#2 Importing the dataset
dataset = pd.read_csv('Position_Salaries.csv')
X = dataset.iloc[:, 1:2].values
y = dataset.iloc[:, 2].values
# Splitting the dataset into the Training set and Test set
#3 Fitting the Random Forest Regression Model to the dataset
# Create RF regressor here
from sklearn.ensemble import RandomForestRegressor 
#Put 10 for the n_estimators argument. n_estimators mean the number #of trees in the forest.
regressor = RandomForestRegressor(n_estimators=10, random_state=0)
regressor.fit(X,y)
#4 Visualising the Regression results (for higher resolution and #smoother curve)
X_grid = np.arange(min(X), max(X), 0.01)
X_grid = X_grid.reshape((len(X_grid), 1))
plt.scatter(X, y, color = 'red')
plt.plot(X_grid, regressor.predict(X_grid), color = 'blue')
plt.title('Check It (Random Forest Regression Model)')
plt.xlabel('Position level')
plt.ylabel('Salary')
plt.show()

Ebben az eredményben több lépés van, ha összehasonlítjuk a döntési fa regressziójával.

#5 Predicting a new result
y_pred = regressor.predict(5.5)

Kimenet: y_pred: 108000

  • Növeljük 100 fára az erdőben, és nézzük meg.
# Fitting the Random Forest Regression Model to the dataset
# Create RF regressor here
from sklearn.ensemble import RandomForestRegressor 
#Put 10 for the n_estimators argument. n_estimators mean the number #of trees in the forest.
regressor = RandomForestRegressor(n_estimators=100, random_state=0)
regressor.fit(X,y)
  • Nézze meg a 100 fát tartalmazó modell parcelláját.
#Visualising the Regression results (for higher resolution and #smoother curve)
X_grid = np.arange(min(X), max(X), 0.01)
X_grid = X_grid.reshape((len(X_grid), 1))
plt.scatter(X, y, color = 'red')
plt.plot(X_grid, regressor.predict(X_grid), color = 'blue')
plt.title('Check It (Random Forest Regression Model)w/100 trees')
plt.xlabel('Position level')
plt.ylabel('Salary')
plt.show()

A grafikon lépései nem nőnek tízszeresére, mint az erdőben lévő fák száma. De az előrejelzés jobb lesz. Jósoljuk meg ugyanannak a változónak az eredményét.

# Predicting a new result
y_pred = regressor.predict(5.5)

Kimenet: y_pred(5.5) = 121800 (Jobb előrejelzés)

Növeljük 300 fára az erdőben, és nézzük meg.

#3 Fitting the Random Forest Regression Model to the dataset
# Create RF regressor here
from sklearn.ensemble import RandomForestRegressor
#Put 10 for the n_estimators argument. n_estimators mean the number #of trees in the forest.
regressor = RandomForestRegressor(n_estimators=300, random_state=0)
regressor.fit(X,y)
#4 Predicting a new result
y_pred = regressor.predict(5.5)

Kimenet: y_pred (5.5)= 120233.33 (Ez egy nagyszerű előrejelzés, és közel áll a valós értékhez)

Referenciák: