Вибір наступної найкращої змінної
Метод покрокового висхідного відбору змінних починає з порожнього набору змінних і рухається кроками, на кожному з яких додається наступна найкраща змінна. Щоб реалізувати цю процедуру, для вас уже підготовлено дві зручні функції.
Функція auc обчислює для заданого набору змінних variables значення AUC моделі, що використовує цей набір як предиктори. Функція next_best визначає, яку змінну слід додати на наступному кроці до списку змінних.
У цій вправі ви попрактикуєтеся з цими функціями, щоб краще зрозуміти їх призначення. Ви обчислите AUC для заданого набору змінних, визначите, яку змінну додати далі, і перевірите, що це справді дає оптимальний AUC.
Ця вправа є частиною курсу
Вступ до прогностичної аналітики в Python
Інструкції до вправи
- Функцію
aucуже реалізовано. Обчисліть AUC моделі, яка використовує"max_gift","mean_gift"і"min_gift"як предиктори. Передайте ці змінні списком як перший аргумент функціїauc. - Функцію
next_bestуже реалізовано. Визначте, яку змінну слід додати далі, якщо зараз у моделі є"max_gift","mean_gift"і"min_gift", а кандидатами на додавання є"age"та"gender_F". Перший аргументnext_best— це список наявних змінних, а другий — список кандидатів-предикторів. - Обчисліть AUC моделі, що використовує
"max_gift","mean_gift","min_gift"і"age"як предиктори. - Обчисліть AUC моделі, що використовує
"max_gift","mean_gift","min_gift"і"gender_F"як предиктори.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))