НачатьНачать бесплатно

Выбор следующей наилучшей переменной

Метод пошагового отбора переменных вперёд начинается с пустого набора переменных и выполняется поэтапно: на каждом шаге к набору добавляется следующая наилучшая переменная. Для реализации этой процедуры вам предоставлены две удобные функции.

Функция 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))
Редактировать и запускать код