Выбор следующей наилучшей переменной
Метод пошагового отбора переменных вперёд начинается с пустого набора переменных и выполняется поэтапно: на каждом шаге к набору добавляется следующая наилучшая переменная. Для реализации этой процедуры вам предоставлены две удобные функции.
Функция auc вычисляет значение AUC для модели, использующей заданный набор переменных variables в качестве предикторов. Функция 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))