De volgende beste variabele kiezen
De forward stepwise-methode voor variabelenselectie start met een lege set en gaat in stappen verder, waarbij in elke stap de volgende beste variabele wordt toegevoegd. Om deze procedure te implementeren, zijn er twee handige functies voor je klaargezet.
De functie auc berekent voor een gegeven variabelenset variables de AUC van het model dat deze set als voorspellers gebruikt. De functie next_best bepaalt welke variabele in de volgende stap aan de lijst moet worden toegevoegd.
In deze oefening ga je met deze functies experimenteren om hun doel beter te begrijpen. Je berekent de AUC van een gegeven variabelenset, bepaalt welke variabele daarna moet worden toegevoegd en controleert dat dit inderdaad tot een optimale AUC leidt.
Deze oefening maakt deel uit van de cursus
Introductie tot Predictive Analytics in Python
Oefeninstructies
- De functie
aucis al voor je geïmplementeerd. Bereken de AUC van een model dat"max_gift","mean_gift"en"min_gift"als voorspellers gebruikt. Je geeft deze variabelen door in een lijst als eerste argument aan de functieauc. - De functie
next_bestis al voor je geïmplementeerd. Bepaal welke variabele als volgende moet worden toegevoegd, uitgaande van dat"max_gift","mean_gift"en"min_gift"nu in het model zitten, en"age"en"gender_F"de kandidaat-voorspellers zijn. Het eerste argument vannext_bestis een lijst met de huidige variabelen, het tweede argument is een lijst met de kandidaat-voorspellers. - Bereken de AUC van een model dat
"max_gift","mean_gift","min_gift"en"age"als voorspellers gebruikt. - Bereken de AUC van een model dat
"max_gift","mean_gift","min_gift"en"gender_F"als voorspellers gebruikt.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Calculate the AUC of a model that uses "max_gift", "mean_gift" and "min_gift" as predictors
auc_current = ____([____, ____, ____], ["target"], basetable)
print(round(auc_current,4))
# Calculate which variable among "age" and "gender_F" should be added to the variables "max_gift", "mean_gift" and "min_gift"
next_variable = ____([____, ____, ____], [____, ____], ["target"], basetable)
print(next_variable)
# Calculate the AUC of a model that uses "max_gift", "mean_gift", "min_gift" and "age" as predictors
auc_current_age = ____([____, ____, ____, ____], ["target"], basetable)
print(round(auc_current_age,4))
# Calculate the AUC of a model that uses "max_gift", "mean_gift", "min_gift" and "gender_F" as predictors
auc_current_gender_F = ____([____], ["target"], basetable)
print(round(auc_current_gender_F,4))