Selezionare la prossima variabile migliore
Il metodo di selezione delle variabili forward stepwise parte da un insieme vuoto e procede per passi, aggiungendo a ogni passo la variabile successiva migliore. Per implementare questa procedura, sono state predisposte per te due funzioni utili.
La funzione auc calcola, per un dato insieme di variabili variables, l'AUC del modello che usa questo insieme come predittori. La funzione next_best determina quale variabile dovrebbe essere aggiunta nel passo successivo alla lista delle variabili.
In questo esercizio sperimenterai con queste funzioni per capirne meglio lo scopo. Calcolerai l'AUC di un insieme di variabili, individuerai quale variabile aggiungere dopo e verificherai che questo porti effettivamente a un'AUC ottimale.
Questo esercizio fa parte del corso
Introduzione alla Predictive Analytics in Python
Istruzioni dell'esercizio
- La funzione
aucè già stata implementata per te. Calcola l'AUC di un modello che usa"max_gift","mean_gift"e"min_gift"come predittori. Dovresti passare queste variabili in una lista come primo argomento alla funzioneauc. - La funzione
next_bestè già stata implementata per te. Calcola quale variabile andrebbe aggiunta dopo, dato che"max_gift","mean_gift"e"min_gift"sono attualmente nel modello, e"age"e"gender_F"sono i predittori candidati. Il primo argomento dinext_bestè una lista con le variabili correnti, mentre il secondo è una lista con i predittori candidati. - Calcola l'AUC di un modello che usa
"max_gift","mean_gift","min_gift"e"age"come predittori. - Calcola l'AUC di un modello che usa
"max_gift","mean_gift","min_gift"e"gender_F"come predittori.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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))