Prédire la note d’une application
Après avoir exploré le jeu de données des applications Google dans l’exercice précédent, construisons maintenant un modèle qui prédit la note d’une application à partir d’un sous-ensemble de ses caractéristiques.
Pour cela, vous utiliserez le DecisionTreeRegressor de scikit-learn. Les arbres de décision étant les briques de base de nombreux modèles d’ensemble, vous remémorer leur fonctionnement vous sera très utile tout au long de ce cours.
Nous utiliserons la MAE (mean absolute error) comme métrique d’évaluation. Cette métrique est très interprétable, car elle représente la différence absolue moyenne entre les notes réelles et prédites.
Tous les modules requis ont été préimportés pour vous. Les variables de caractéristiques et de cible sont respectivement disponibles dans X et y.
Cet exercice fait partie du cours
Méthodes d’ensemble en Python
Instructions
- Utilisez
train_test_split()pour scinderXetyen ensembles d’entraînement et de test. Utilisez 20 %, soit0.2, comme taille de test. - Instanciez un
DecisionTreeRegressor(),reg_dt, avec les hyperparamètres suivants :min_samples_leaf = 3etmin_samples_split = 9. - Ajustez le régressseur sur l’ensemble d’entraînement avec
.fit(). - Prédisez les étiquettes de l’ensemble de test avec
.predict().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Split into train (80%) and test (20%) sets
X_train, X_test, y_train, y_test = ____(____, ____, ____, random_state=42)
# Instantiate the regressor
reg_dt = ____(____, ____, random_state=500)
# Fit to the training set
____
# Evaluate the performance of the model on the test set
y_pred = ____
print('MAE: {:.3f}'.format(mean_absolute_error(y_test, y_pred)))