Prevedere la valutazione di un'app
Dopo aver esplorato il dataset delle app di Google nel precedente esercizio, costruiamo ora un modello che preveda la valutazione di un'app a partire da un sottoinsieme delle sue caratteristiche.
Per farlo userai il DecisionTreeRegressor di scikit-learn. Poiché gli alberi decisionali sono i mattoni di molti modelli ensemble, ripassare come funzionano ti tornerà utile per tutto il corso.
Useremo la MAE (mean absolute error) come metrica di valutazione. Questa metrica è molto interpretabile, perché rappresenta la differenza assoluta media tra le valutazioni reali e quelle predette.
Tutti i moduli necessari sono già stati importati per te. Le feature e il target sono disponibili rispettivamente nelle variabili X e y.
Questo esercizio fa parte del corso
Metodi Ensemble in Python
Istruzioni dell'esercizio
- Usa
train_test_split()per suddividereXeyin set di training e di test. Imposta il set di test al 20%, ovvero0.2. - Istanzia un
DecisionTreeRegressor(),reg_dt, con i seguenti iperparametri:min_samples_leaf = 3emin_samples_split = 9. - Allena il regressore sul set di training usando
.fit(). - Predici le etichette del set di test usando
.predict().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)))