Korrelierte Variablen
Die ersten 10 Variablen, die dem Modell hinzugefügt werden, sind:
['max_gift', 'number_gift', 'time_since_last_gift', 'mean_gift', 'income_high', 'age', 'country_USA', 'gender_F', 'income_low', 'country_UK']
Wie du siehst, wird min_gift nicht hinzugefügt. Heißt das, dass es eine schlechte Variable ist? Du kannst die Leistungsfähigkeit der Variable testen, indem du sie als einzige Variable in einem Modell verwendest und die AUC berechnest. Wie schneidet die AUC von min_gift im Vergleich zur AUC von income_high ab? Dafür kannst du die Funktion auc() nutzen:
auc(variables, target, basetable)
Es kann passieren, dass eine gute Variable nicht aufgenommen wird, weil sie stark mit einer Variable korreliert ist, die bereits im Modell enthalten ist. Das kannst du testen, indem du die Korrelation zwischen diesen Variablen berechnest:
import numpy
numpy.corrcoef(basetable["variable_1"],basetable["variable_2"])[0,1]
Diese Übung ist Teil des Kurses
Einführung in Predictive Analytics mit Python
Anleitung zur Übung
- Berechne die AUC des Modells, das nur die Variable
min_giftverwendet. - Berechne die AUC des Modells, das nur die Variable
income_highverwendet. - Berechne die Korrelation zwischen der Variable
min_giftundmean_gift.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
import numpy as np
# Calculate the AUC of the model using min_gift only
auc_min_gift = auc([____], ["target"], ____)
print(round(auc_min_gift,2))
# Calculate the AUC of the model using income_high only
auc_income_high = ____([____], [____], ____)
print(round(auc_income_high,2))
# Calculate the correlation between min_gift and mean_gift
correlation = np.corrcoef(basetable["____"], basetable["____"])[0,1]
print(round(correlation,2))