Membangun kurva AUC
Prosedur forward stepwise variable selection memberikan urutan penambahan variabel secara optimal ke dalam himpunan prediktor. Untuk memutuskan di mana menghentikan penambahan variabel, Anda dapat membuat kurva AUC pada train dan test. Kurva ini memplot AUC train dan test menggunakan variabel pertama, dua variabel pertama, tiga variabel pertama, … dalam model.
Pada latihan ini Anda akan belajar memplot kurva AUC tersebut. Metode auc_train_test untuk menghitung nilai AUC telah disediakan dan dapat digunakan sebagai berikut:
auc_train, auc_test = auc_train_test(variables, target, train, test)
di mana variables adalah himpunan variabel yang digunakan dalam model regresi logistik, target adalah list berisi nama target, dan train serta test masing-masing adalah basetable train dan test.
Variabel-variabel yang diurutkan menurut prosedur forward stepwise diberikan dalam list variables. Anda dapat menelusurinya di konsol. Selain itu, tiga list kosong telah didefinisikan untuk Anda:
auc_values_train, yang akan berisi nilai AUC train dari model pada setiap iterasiauc_values_test, yang akan berisi nilai AUC test dari model pada setiap iterasivariables_evaluate, yang akan berisi variabel-variabel yang dievaluasi pada setiap iterasi
Latihan ini adalah bagian dari kursus
Pengantar Predictive Analytics dengan Python
Petunjuk latihan
- Lakukan iterasi atas variabel-variabel.
- Pada setiap iterasi, tambahkan variabel berikutnya dalam
variableskevariables_evaluate. - Pada setiap iterasi, hitung AUC train dan test menggunakan metode
auc_train_test. DataFrametraindantestmasing-masing berisi data train dan test. - Pada setiap iterasi, tambahkan nilai yang dihitung ke
auc_values_traindanauc_values_test
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()