De beoordeling van een app voorspellen
Nu je in de vorige oefening de Google-appsgegevensset hebt verkend, ga je een model bouwen dat de beoordeling van een app voorspelt op basis van een subset van de kenmerken.
Hiervoor gebruik je scikit-learn’s DecisionTreeRegressor. Omdat beslissingsbomen de bouwstenen zijn van veel ensemblemodellen, is het handig om je geheugen hierover op te frissen; dat helpt je de rest van deze cursus.
We gebruiken de MAE (mean absolute error) als evaluatiemetriek. Deze metriek is goed te interpreteren, omdat hij het gemiddelde absolute verschil tussen de werkelijke en voorspelde beoordelingen weergeeft.
Alle benodigde modules zijn al voor je geïmporteerd. De features en de target zijn respectievelijk beschikbaar in de variabelen X en y.
Deze oefening maakt deel uit van de cursus
Ensemblemethoden in Python
Oefeninstructies
- Gebruik
train_test_split()omXenyop te splitsen in train- en testsets. Gebruik 20%, of0.2, als testgrootte. - Instantieer een
DecisionTreeRegressor(),reg_dt, met de volgende hyperparameters:min_samples_leaf = 3enmin_samples_split = 9. - Fit de regressieboom op de trainingsset met
.fit(). - Voorspel de labels van de testset met
.predict().
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)))