Selecionando a próxima melhor variável
O método de seleção de variáveis stepwise forward começa com um conjunto vazio de variáveis e avança em etapas, em que a cada etapa é adicionada a próxima melhor variável. Para implementar esse procedimento, duas funções úteis já foram preparadas para você.
A função auc calcula, para um conjunto de variáveis variables, a AUC do modelo que usa esse conjunto como preditores. A função next_best calcula qual variável deve ser adicionada na próxima etapa à lista de variáveis.
Neste exercício, você vai experimentar essas funções para entender melhor seu propósito. Você vai calcular a AUC de um conjunto de variáveis, descobrir qual variável deve ser adicionada em seguida e verificar que isso realmente resulta em uma AUC ótima.
Este exercício faz parte do curso
Introdução à Análise Preditiva em Python
Instruções do exercício
- A função
aucjá foi implementada para você. Calcule a AUC de um modelo que usa"max_gift","mean_gift"e"min_gift"como preditores. Você deve passar essas variáveis em uma lista como primeiro argumento para a funçãoauc. - A função
next_bestjá foi implementada para você. Calcule qual variável deve ser adicionada em seguida, considerando que"max_gift","mean_gift"e"min_gift"estão no modelo no momento, e"age"e"gender_F"são os próximos preditores candidatos. O primeiro argumento da funçãonext_besté uma lista com as variáveis atuais, enquanto o segundo argumento é uma lista com os preditores candidatos. - Calcule a AUC de um modelo que usa
"max_gift","mean_gift","min_gift"e"age"como preditores. - Calcule a AUC de um modelo que usa
"max_gift","mean_gift","min_gift"e"gender_F"como preditores.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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))