Wybór kolejnej najlepszej zmiennej
Krokowa selekcja zmiennych w przód zaczyna od pustego zbioru zmiennych i przebiega etapami – w każdym kroku dodawana jest kolejna najlepsza zmienna. Aby ułatwić wdrożenie tej procedury, przygotowano dla ciebie dwie pomocne funkcje.
Funkcja auc oblicza AUC modelu dla zadanego zbioru zmiennych variables użytych jako predyktory. Funkcja next_best wyznacza, którą zmienną należy dodać w następnym kroku.
W tym ćwiczeniu poeksperymentujesz z tymi funkcjami, żeby lepiej zrozumieć ich działanie. Obliczysz AUC dla danego zbioru zmiennych, sprawdzisz, która zmienna powinna zostać dodana jako kolejna, i zweryfikujesz, czy rzeczywiście prowadzi to do optymalnego AUC.
To ćwiczenie jest częścią kursu
Wprowadzenie do analizy predykcyjnej w Pythonie
Instrukcje do ćwiczenia
- Funkcja
aucjest już zaimplementowana. Oblicz AUC modelu, który używa"max_gift","mean_gift"i"min_gift"jako predyktorów. Przekaż te zmienne w postaci listy jako pierwszy argument funkcjiauc. - Funkcja
next_bestjest już zaimplementowana. Wyznacz, którą zmienną należy dodać w następnym kroku, wiedząc, że w modelu są już"max_gift","mean_gift"i"min_gift", a kandydatami do dodania są"age"i"gender_F". Pierwszy argument funkcjinext_bestto lista aktualnych zmiennych, a drugi – lista zmiennych kandydujących. - Oblicz AUC modelu, który używa
"max_gift","mean_gift","min_gift"i"age"jako predyktorów. - Oblicz AUC modelu, który używa
"max_gift","mean_gift","min_gift"i"gender_F"jako predyktorów.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))