ComeçarComece de graça

Construindo as curvas de AUC

O procedimento de seleção de variáveis forward stepwise fornece uma ordem ótima para adicionar variáveis ao conjunto de preditores. Para decidir onde interromper a inclusão de variáveis, você pode construir as curvas de AUC de treino e teste. Essas curvas mostram a AUC de treino e de teste usando a primeira, as duas primeiras, as três primeiras, … variáveis no modelo.

Neste exercício, você vai aprender a plotar essas curvas de AUC. O método auc_train_test para calcular os valores de AUC já foi implementado para você e pode ser usado da seguinte forma:

auc_train, auc_test = auc_train_test(variables, target, train, test)

once variables é o conjunto de variáveis usado no modelo de regressão logística, target é uma lista com o nome do alvo e train e test são, respectivamente, as basetables de treino e teste.

As variáveis ordenadas de acordo com o procedimento forward stepwise estão na lista variables. Você pode explorá-la no console. Além disso, três listas vazias foram definidas para você:

  • auc_values_train, que conterá os valores de AUC de treino do modelo em cada iteração
  • auc_values_test, que conterá os valores de AUC de teste do modelo em cada iteração
  • variables_evaluate, que conterá as variáveis avaliadas em cada iteração

Este exercício faz parte do curso

Introdução à Análise Preditiva em Python

Ver curso

Instruções do exercício

  • Itere sobre as variáveis.
  • Em cada iteração, adicione a próxima variável em variables a variables_evaluate.
  • Em cada iteração, calcule a AUC de treino e de teste usando o método auc_train_test. Os DataFrames train e test contêm, respectivamente, os dados de treino e de teste.
  • Em cada iteração, adicione os valores calculados a auc_values_train e auc_values_test

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Keep track of train and test AUC values
auc_values_train = []
auc_values_test = []
variables_evaluate = []

# Iterate over the variables in variables
for v in ____:
  
    # Add the variable
    variables_evaluate.append(____)
    
    # Calculate the train and test AUC of this set of variables
    auc_train, auc_test = ____(____, ["target"], ____, ____)
    
    # Append the values to the lists
    auc_values_train.append(____)
    auc_values_test.append(____)
    
# Make plot of the AUC values
import matplotlib.pyplot as plt
import numpy as np

x = np.array(range(0,len(auc_values_train)))
y_train = np.array(auc_values_train)
y_test = np.array(auc_values_test)
plt.xticks(x, variables, rotation = 90)
plt.plot(x,y_train)
plt.plot(x,y_test)
plt.ylim((0.6, 0.8))
plt.show()
Editar e executar o código