Förutsäga betyget för en app
Nu när du har utforskat Google Apps-datamängden i föregående övning är det dags att bygga en modell som förutsäger betyget för en app utifrån en delmängd av dess särdrag.
För det använder du scikit-learn's DecisionTreeRegressor. Beslutsträd är grunden i många ensemblemodeller, så det är bra att fräscha upp minnet om hur de fungerar – det kommer att vara användbart genom hela kursen.
Vi använder MAE (medelabsolutfel) som utvärderingsmått. Det är ett lättolkat mått som representerar den genomsnittliga absoluta skillnaden mellan faktiska och förutsagda betyg.
Alla nödvändiga moduler har redan importerats. Särdragen och målet finns tillgängliga i variablerna X respektive y.
Den här övningen är en del av kursen
Ensemblemetoder i Python
Övningsinstruktioner
- Använd
train_test_split()för att dela uppXochyi tränings- och testmängder. Använd 20 %, eller0.2, som teststorlek. - Instansiera en
DecisionTreeRegressor(),reg_dt, med följande hyperparametrar:min_samples_leaf = 3ochmin_samples_split = 9. - Anpassa regressorn till träningsdatan med
.fit(). - Förutsäg etiketterna för testmängden med
.predict().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)))