Kom igångKom igång gratis

Bygga AUC-kurvorna

Det framåtstegvisa variabelurvalet ger en ordning i vilken variabler optimalt läggs till i prediktoruppsättningen. För att avgöra var man ska begränsa antalet variabler kan man rita tränings- och test-AUC-kurvor. Dessa kurvor visar tränings- och test-AUC med den första, de två första, de tre första, … variablerna i modellen.

I den här övningen lär du dig att rita dessa AUC-kurvor. Metoden auc_train_test för att beräkna AUC-värden har redan implementerats och kan användas på följande sätt:

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

där variables är den uppsättning variabler som används i logistisk regressionsmodell, target är en lista med målvariabelns namn, och train och test är tränings- respektive testtabellen.

Variablerna ordnade enligt det framåtstegvisa förfarandet finns i listan variables. Du kan utforska den i konsolen. Dessutom har tre tomma listor definierats åt dig:

  • auc_values_train, som kommer att innehålla modellens tränings-AUC-värden vid varje iteration
  • auc_values_test, som kommer att innehålla modellens test-AUC-värden vid varje iteration
  • variables_evaluate, som kommer att innehålla de variabler som utvärderas vid varje iteration

Den här övningen är en del av kursen

Introduktion till prediktiv analys i Python

Visa kurs

Övningsinstruktioner

  • Iterera över variablerna.
  • Lägg i varje iteration till nästa variabel i variables i variables_evaluate.
  • Beräkna i varje iteration tränings- och test-AUC med metoden auc_train_test. DataFrames train och test innehåller tränings- respektive testdata.
  • Lägg i varje iteration till de beräknade värdena i auc_values_train och auc_values_test.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod