Exemple d'algorithme de boosting de gradient (GBM) en Python

WBOY
Libérer: 2023-06-10 16:51:07
original
1769 Les gens l'ont consulté

Exemple d'algorithme de boosting de gradient (GBM) en Python

Le boosting de gradient (GBM) est une méthode d'apprentissage automatique qui réduit progressivement la fonction de perte en entraînant le modèle de manière itérative. Il donne de bons résultats d’application dans les problèmes de régression et de classification, et constitue un puissant algorithme d’apprentissage d’ensemble. Cet article utilisera Python comme exemple pour présenter comment utiliser l'algorithme GBM pour modéliser un problème de régression.

Nous devons d'abord importer certaines bibliothèques Python couramment utilisées, comme indiqué ci-dessous :

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.metrics import mean_squared_error
Copier après la connexion

Dans ce cas, nous utiliserons l'ensemble de données Car Evaluation pour la modélisation, qui contient 6 attributs et 1 variable catégorielle. Nous utiliserons ces variables d'attribut pour prédire le prix du véhicule. Tout d'abord, nous devons lire le fichier CSV dans un Pandas DataFrame comme indiqué ci-dessous :

data=pd.read_csv("car_data_1.csv")
Copier après la connexion

Ensuite, nous devons diviser les données d'origine en un ensemble d'entraînement et un ensemble de test. Nous utilisons 80 % des données comme ensemble de formation et 20 % des données comme ensemble de test.

train_data, test_data, train_label, test_label = train_test_split(data.iloc[:,:-1], data.iloc[:,-1], test_size=0.2, random_state=1)
Copier après la connexion

Ensuite, nous devons effectuer une ingénierie des fonctionnalités pour encoder les variables catégorielles en variables factices. Ici, nous utilisons la fonction get_dummies de Pandas.

train_data = pd.get_dummies(train_data)
test_data = pd.get_dummies(test_data)
Copier après la connexion

Maintenant, nous pouvons construire un modèle GBM. Tout d’abord, nous initialisons le modèle, puis définissons les paramètres. Ici, nous fixons le nombre d'itérations du modèle (n_estimators) à 100 et le paramètre de taux d'apprentissage (learning_rate) à 0,1.

model = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, random_state=1)
Copier après la connexion

Ensuite, nous ajustons le modèle à l'aide des données de l'ensemble d'entraînement :

model.fit(train_data,train_label)
Copier après la connexion

Ensuite, nous évaluons les performances du modèle à l'aide des données de l'ensemble de test. Ici, nous utilisons l'erreur quadratique moyenne (MSE) pour évaluer les performances du modèle. Le code ressemble à ceci :

pred=model.predict(test_data)
mse=mean_squared_error(test_label, pred)
print("MSE:",mse)
Copier après la connexion

Enfin, nous pouvons explorer davantage l'importance des variables dans le modèle GBM. Nous pouvons utiliser la fonction feature_importances_ de sklearn pour l'obtenir.

feat_imp = pd.Series(model.feature_importances_, index=train_data.columns).sort_values(ascending=False)
print(feat_imp)
Copier après la connexion

En résumé, cet article montre comment implémenter l'algorithme GBM à l'aide de la bibliothèque sklearn de Python. Nous utilisons l'ensemble de données Car Evaluation pour prédire le prix des véhicules et évaluer les performances du modèle, et nous pouvons également obtenir les scores d'importance des variables. GBM a de bons effets d’application dans l’apprentissage automatique et constitue un puissant algorithme d’apprentissage d’ensemble.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal