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 Iterationauc_values_test, enthält die Test-AUC-Werte des Modells in jeder Iterationvariables_evaluate, enthält die in jeder Iteration bewerteten Variablen
Diese Übung ist Teil des Kurses
Einführung in Predictive Analytics mit Python
Anleitung zur Übung
- Iteriere über die Variablen.
- Füge in jeder Iteration die nächste Variable aus
variableszuvariables_evaluatehinzu. - Berechne in jeder Iteration die Train- und Test-AUC mit der Methode
auc_train_test. Die DataFramestrainundtestenthalten die jeweiligen Train- bzw. Testdaten. - Füge in jeder Iteration die berechneten Werte zu
auc_values_trainundauc_values_testhinzu.
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()