Определение порядка переменных
Процедура пошагового отбора переменных вперёд начинается с пустого набора переменных и добавляет предикторы по одному. На каждом шаге выбирается тот предиктор, который в сочетании с уже включёнными переменными даёт наибольшее значение AUC.
В этом упражнении вы научитесь реализовывать процедуру пошагового отбора переменных вперёд. Для этого воспользуйтесь функцией next_best, которая уже реализована за вас. Она вызывается следующим образом:
next_best(current_variables,candidate_variables,target,basetable)
где current_variables — список переменных, уже включённых в модель, а candidate_variables — список переменных, которые можно добавить на следующем шаге.
Это упражнение является частью курса
Введение в предиктивную аналитику на Python
Инструкции к упражнению
- Используйте функцию
next_best, чтобы вычислить следующую наилучшую переменную, и сохраните результат вnext_variable. - Обновите список
current_variables. - Обновите список
candidate_variables.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Find the candidate variables
candidate_variables = list(basetable.columns.values)
candidate_variables.remove("target")
# Initialize the current variables
current_variables = []
# The forward stepwise variable selection procedure
number_iterations = 5
for i in range(0, number_iterations):
next_variable = ____(____, ____, ["target"], basetable)
current_variables = current_variables + [____]
candidate_variables.remove(____)
print("Variable added in step " + str(i+1) + " is " + next_variable + ".")
print(current_variables)