Een model evalueren op test en train
De functie auc_train_test berekent de AUC van een model dat is gebouwd op een train-set en geëvalueerd op een test-set:
auc_train, auc_test = auc_train_test(variables, target, train, test)
waarbij variables een lijst is met de namen van de variabelen die in het model worden gebruikt.
In deze oefening pas je deze functie toe en controleer je of de train- en test-AUC vergelijkbaar zijn.
Deze oefening maakt deel uit van de cursus
Introductie tot Predictive Analytics in Python
Oefeninstructies
- De
basetableis geladen. Splits de basetable zodat de trainset 70% van de data bevat, en zorg ervoor dat train- en testset dezelfde target-incidentie hebben. - Bereken de train- en test-AUC van het model met
"age"en"gender_F"als voorspellers met de functieauc_train_test.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Load the partitioning module
from sklearn.model_selection import train_test_split
# Create DataFrames with variables and target
X = basetable.drop('target', 1)
y = basetable["target"]
# Carry out 70-30 partititioning with stratification
X_train, X_test, y_train, y_test = ____(X, y, test_size = ____, stratify = ____)
# Create the final train and test basetables
train = pd.concat([X_train, y_train], axis=1)
test = pd.concat([X_test, y_test], axis=1)
# Apply the auc_train_test function
auc_train, auc_test = ____([____, ____], ["target"], ____, ____)
print(round(auc_train,2))
print(round(auc_test,2))