LoslegenKostenlos loslegen

AUC-Kurven erstellen

Das Forward-Stepwise-Verfahren zur Variablenauswahl liefert eine Reihenfolge, in der Variablen optimal zum Prädiktorset hinzugefügt werden. Um zu entscheiden, wo du die Auswahl begrenzt, kannst du die AUC-Kurven für Train und Test erstellen. Diese Kurven stellen die Train- und Test-AUC dar, wenn im Modell die erste, die ersten zwei, die ersten drei, … Variablen verwendet werden.

In dieser Übung lernst du, diese AUC-Kurven zu plotten. Die Methode auc_train_test zur Berechnung der AUC-Werte wurde für dich implementiert und kann wie folgt verwendet werden:

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

wobei variables die im logistischen Regressionsmodell verwendeten Variablen enthält, target eine Liste mit dem Zielmerkmal ist und train sowie test die jeweiligen Basistabellen für Train und Test sind.

Die nach dem Forward-Stepwise-Verfahren geordnete Variablenliste ist in variables gegeben. Du kannst sie in der Konsole erkunden. Zusätzlich wurden drei leere Listen für dich definiert:

  • auc_values_train, enthält die Train-AUC-Werte des Modells in jeder Iteration
  • auc_values_test, enthält die Test-AUC-Werte des Modells in jeder Iteration
  • variables_evaluate, enthält die in jeder Iteration bewerteten Variablen

Diese Übung ist Teil des Kurses

Einführung in Predictive Analytics mit Python

Kurs anzeigen

Anleitung zur Übung

  • Iteriere über die Variablen.
  • Füge in jeder Iteration die nächste Variable aus variables zu variables_evaluate hinzu.
  • Berechne in jeder Iteration die Train- und Test-AUC mit der Methode auc_train_test. Die DataFrames train und test enthalten die jeweiligen Train- bzw. Testdaten.
  • Füge in jeder Iteration die berechneten Werte zu auc_values_train und auc_values_test hinzu.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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()
Code bearbeiten und ausführen