Prédiction du diabète en utilisant le Voting Regressor

Machine LearningMachine LearningBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous utiliserons un Voting Regressor pour prédire l'évolution du diabète chez les patients. Nous utiliserons trois régresseurs différents pour prédire les données : Gradient Boosting Regressor, Random Forest Regressor et Régression Linéaire. Ensuite, les 3 régresseurs ci-dessus seront utilisés pour le Voting Regressor. Enfin, nous tracerons les prédictions faites par tous les modèles pour comparer.

Nous travaillerons avec l'ensemble de données sur le diabète qui est composé de 10 caractéristiques recueillies auprès d'un groupe de patients diabétiques. La variable cible est une mesure quantitative de l'évolution de la maladie un an après le stade initial.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez des commentaires après la session, et nous résoudrons rapidement le problème pour vous.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/linear_model("Linear Models") sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/ensemble("Ensemble Methods") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/linear_model -.-> lab-49330{{"Prédiction du diabète en utilisant le Voting Regressor"}} sklearn/ensemble -.-> lab-49330{{"Prédiction du diabète en utilisant le Voting Regressor"}} sklearn/datasets -.-> lab-49330{{"Prédiction du diabète en utilisant le Voting Regressor"}} ml/sklearn -.-> lab-49330{{"Prédiction du diabète en utilisant le Voting Regressor"}} end

Importation des bibliothèques

Importons les bibliothèques nécessaires pour effectuer la prédiction du diabète en utilisant le Voting Regressor.

import matplotlib.pyplot as plt
from sklearn.datasets import load_diabetes
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import VotingRegressor

Charger l'ensemble de données sur le diabète

Ensuite, nous allons charger l'ensemble de données sur le diabète dans notre programme en utilisant la fonction load_diabetes() fournie par scikit-learn. Cette fonction renvoie l'ensemble de données sous forme d'un tuple de deux tableaux - l'un contenant les données de caractéristiques et l'autre contenant les données cibles. Nous allons assigner ces tableaux à X et y respectivement.

## Load the diabetes dataset
X, y = load_diabetes(return_X_y=True)

Entraîner les régresseurs

Maintenant, initialisons un Gradient Boosting Regressor, un Random Forest Regressor et une Régression Linéaire. Ensuite, nous utiliserons les 3 régresseurs pour construire le Voting Regressor.

## Train classifiers
reg1 = GradientBoostingRegressor(random_state=1)
reg2 = RandomForestRegressor(random_state=1)
reg3 = LinearRegression()

reg1.fit(X, y)
reg2.fit(X, y)
reg3.fit(X, y)

ereg = VotingRegressor([("gb", reg1), ("rf", reg2), ("lr", reg3)])
ereg.fit(X, y)

Effectuer des prédictions

Maintenant, nous utiliserons chacun des régresseurs pour effectuer les 20 premières prédictions.

## Make predictions
xt = X[:20]

pred1 = reg1.predict(xt)
pred2 = reg2.predict(xt)
pred3 = reg3.predict(xt)
pred4 = ereg.predict(xt)

Tracer les résultats

Enfin, nous allons visualiser les 20 prédictions. Les étoiles rouges montrent la prédiction moyenne effectuée par le Voting Regressor.

## Plot the results
plt.figure()
plt.plot(pred1, "gd", label="GradientBoostingRegressor")
plt.plot(pred2, "b^", label="RandomForestRegressor")
plt.plot(pred3, "ys", label="LinearRegression")
plt.plot(pred4, "r*", ms=10, label="VotingRegressor")

plt.tick_params(axis="x", which="both", bottom=False, top=False, labelbottom=False)
plt.ylabel("prédit")
plt.xlabel("échantillons d'entraînement")
plt.legend(loc="best")
plt.title("Prédictions des régresseurs et leur moyenne")

plt.show()

Sommaire

Dans ce laboratoire, nous avons utilisé le Voting Regressor pour prédire l'évolution du diabète chez les patients. Nous avons utilisé trois régresseurs différents pour prédire les données : Gradient Boosting Regressor, Random Forest Regressor et Régression Linéaire. Nous avons également visualisé les prédictions effectuées par tous les modèles pour la comparaison.