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: