Machine learning avec des modèles arborescents en Python
Elie Kawerk
Data Scientist
Le GB implique une procédure de recherche exhaustive.
Chaque CART est formé pour identifier les meilleurs points de division et les meilleures caractéristiques.
Cela pourrait conduire les CART à utiliser les mêmes points de division et éventuellement les mêmes fonctionnalités.
Chaque arbre est entraîné sur un sous-ensemble aléatoire de lignes des données d'entraînement.
Les instances échantillonnées (40 % à 80 % de l'ensemble d'entraînement) sont échantillonnées sans remplacement.
Les caractéristiques sont échantillonnées (sans remplacement) lors du choix des points de division.
Résultat : une plus grande diversité dans l'ensemble.
Effet : ajoute davantage de variabilité à l'ensemble des arbres.

# Import models and utility functions
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error as MSE
# Set seed for reproducibility
SEED = 1
# Split dataset into 70% train and 30% test
X_train, X_test, y_train, y_test = train_test_split(X,y,
test_size=0.3,
random_state=SEED)
# Instantiate a stochastic GradientBoostingRegressor 'sgbt' sgbt = GradientBoostingRegressor(max_depth=1, subsample=0.8, max_features=0.2, n_estimators=300, random_state=SEED)# Fit 'sgbt' to the training set sgbt.fit(X_train, y_train) # Predict the test set labels y_pred = sgbt.predict(X_test)
# Evaluate test set RMSE 'rmse_test'
rmse_test = MSE(y_test, y_pred)**(1/2)
# Print 'rmse_test'
print('Test set RMSE: {:.2f}'.format(rmse_test))
Test set RMSE: 3.95
Machine learning avec des modèles arborescents en Python