Ocena modelu na zbiorze treningowym i testowym
Funkcja auc_train_test oblicza AUC modelu zbudowanego na zbiorze train i ocenianego na zbiorze test:
auc_train, auc_test = auc_train_test(variables, target, train, test)
gdzie variables to lista nazw zmiennych użytych w modelu.
W tym ćwiczeniu zastosujesz tę funkcję i sprawdzisz, czy wartości AUC dla zbioru treningowego i testowego są do siebie zbliżone.
To ćwiczenie jest częścią kursu
Wprowadzenie do analizy predykcyjnej w Pythonie
Instrukcje do ćwiczenia
- Zbiór
basetablejest już wczytany. Podziel go tak, aby zbiór treningowy zawierał 70% danych, i zadbaj o to, by zbiór treningowy i testowy miały jednakową częstość występowania klasy docelowej. - Oblicz AUC na zbiorze treningowym i testowym dla modelu używającego
"age"i"gender_F"jako predyktorów – skorzystaj z funkcjiauc_train_test.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))