IniziaInizia gratis

Costruire le curve AUC

La procedura di selezione delle variabili forward stepwise fornisce un ordine ottimale con cui aggiungere le variabili all’insieme dei predittori. Per decidere dove fermarti con le variabili, puoi costruire le curve AUC di train e di test. Queste curve tracciano l’AUC di train e di test usando la prima, le prime due, le prime tre, … variabili nel modello.

In questo esercizio imparerai a tracciare queste curve AUC. Il metodo auc_train_test per calcolare i valori di AUC è già stato implementato per te e può essere usato così:

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

qui variables è l’insieme delle variabili usate nel modello di regressione logistica, target è una lista con il nome del target, e train e test sono rispettivamente le basetable di train e di test.

Le variabili ordinate secondo la procedura forward stepwise sono fornite nella lista variables. Puoi esplorarla nella console. Inoltre, sono state definite per te tre liste vuote:

  • auc_values_train, che conterrà i valori AUC di train del modello a ogni iterazione
  • auc_values_test, che conterrà i valori AUC di test del modello a ogni iterazione
  • variables_evaluate, che conterrà le variabili valutate a ogni iterazione

Questo esercizio fa parte del corso

Introduzione alla Predictive Analytics in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Itera sulle variabili.
  • A ogni iterazione, aggiungi la variabile successiva in variables a variables_evaluate.
  • A ogni iterazione, calcola l’AUC di train e di test usando il metodo auc_train_test. I DataFrame train e test contengono rispettivamente i dati di train e di test.
  • A ogni iterazione, aggiungi i valori calcolati a auc_values_train e auc_values_test

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice