Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • De functie auc is 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 functie auc.
  • De functie next_best is 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 van next_best is 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))
Code bewerken en uitvoeren