Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Arbres Supplémentaires | Modèles de Bagging Couramment Utilisés
Apprentissage Ensembliste
course content

Contenu du cours

Apprentissage Ensembliste

Apprentissage Ensembliste

1. Principes de Base de la Construction de Modèles d'Ensemble
2. Modèles de Bagging Couramment Utilisés
3. Modèles de Boosting Couramment Utilisés
4. Modèles de Stacking Couramment Utilisés

book
Arbres Supplémentaires

Extra Trees, abréviation de Extremely Randomized Trees, est une technique d'apprentissage ensembliste par bagging qui s'appuie sur le concept des arbres de décision pour créer un modèle plus robuste et diversifié.

Comment fonctionne l'algorithme ExtraTrees ?

C'est une variation de l'algorithme Random Forest mais qui introduit encore plus de hasard dans le processus de construction des arbres :

  1. L'algorithme des extra trees, comme l'algorithme des forêts aléatoires, crée de nombreux arbres de décision, mais l'échantillonnage pour chaque arbre est aléatoire, sans remplacement;
  2. Un nombre spécifique de caractéristiques du jeu de caractéristiques total est également sélectionné aléatoirement pour chaque arbre;
  3. La caractéristique la plus importante et unique des extra trees est la sélection aléatoire d'une valeur de division pour une caractéristique. Au lieu de calculer une valeur optimale localement en utilisant Gini ou l'entropie pour diviser les données, l'algorithme sélectionne aléatoirement une valeur de division. Cela rend les arbres diversifiés et non corrélés.

Remarque

Nous pouvons également utiliser l'attribut .feature_importances_ pour mesurer l'impact des caractéristiques sur le résultat du modèle.

Exemple

Nous pouvons utiliser ExtraTrees en Python tout comme Random Forest en utilisant les classes ExtraTreesClassifier ou ExtraTreesRegressor :

1234567891011121314151617181920212223242526272829303132
# Import necessary libraries from sklearn.model_selection import train_test_split from sklearn.ensemble import ExtraTreesRegressor from sklearn.metrics import mean_squared_error import numpy as np # Generate example data with a more complex relationship np.random.seed(42) X = np.random.rand(100, 2) # 100 samples with 2 features y = 3*X[:, 0]**2 + 5*X[:, 1]**3 + np.random.normal(0, 2, 100) # Complex relationship with noise # Split the data into training and testing sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Create and train the ExtraTrees Regressor regressor = ExtraTreesRegressor(n_estimators=100, random_state=42) regressor.fit(X_train, y_train) # Make predictions y_pred = regressor.predict(X_test) # Calculate Mean Squared Error (MSE) as the evaluation metric mse = mean_squared_error(y_test, y_pred) print(f'Mean Squared Error: {mse:.4f}') # Get feature importances feature_importances = regressor.feature_importances_ # Print feature importances print('Feature Importances:') for feature, importance in enumerate(feature_importances): print(f'Feature {feature}: {importance:.4f}')
copy
Dans lequel des ensembles les modèles de base sont-ils plus divers et non corrélés ?

Dans lequel des ensembles les modèles de base sont-ils plus divers et non corrélés ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 7
We're sorry to hear that something went wrong. What happened?
some-alt