Construirea curbelor AUC
Procedura de selecție forward stepwise a variabilelor oferă o ordine în care variabilele sunt adăugate optim în setul de predictori. Pentru a decide unde să tai lista de variabile, poți construi curbele AUC pe datele de antrenament și de testare. Aceste curbe reprezintă grafic valorile AUC folosind prima variabilă, primele două, primele trei… variabile incluse în model.
În acest exercițiu vei învăța să trasezi aceste curbe AUC. Metoda auc_train_test pentru calculul valorilor AUC a fost deja implementată și poate fi folosită astfel:
auc_train, auc_test = auc_train_test(variables, target, train, test)
unde variables este setul de variabile folosit în modelul de regresie logistică, target este o listă cu numele variabilei țintă, iar train și test sunt tabelele de bază pentru antrenament, respectiv testare.
Variabilele ordonate conform procedurii forward stepwise sunt date în lista variables. Le poți explora în consolă. În plus, au fost definite pentru tine trei liste goale:
auc_values_train, care va conține valorile AUC pe setul de antrenament la fiecare iterațieauc_values_test, care va conține valorile AUC pe setul de testare la fiecare iterațievariables_evaluate, care va conține variabilele evaluate la fiecare iterație
Acest exercițiu face parte din cursul
Introducere în analitica predictivă în Python
Instrucțiuni pentru exercițiu
- Iterează peste variabile.
- La fiecare iterație, adaugă următoarea variabilă din
variablesînvariables_evaluate. - La fiecare iterație, calculează AUC-ul pe antrenament și pe testare folosind metoda
auc_train_test. DataFrame-uriletrainșitestconțin datele de antrenament, respectiv de testare. - La fiecare iterație, adaugă valorile calculate în
auc_values_trainșiauc_values_test.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()