MulaiMulai sekarang secara gratis

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 iterasi
  • auc_values_test, yang akan berisi nilai AUC test dari model pada setiap iterasi
  • variables_evaluate, yang akan berisi variabel-variabel yang dievaluasi pada setiap iterasi

Latihan ini adalah bagian dari kursus

Pengantar Predictive Analytics dengan Python

Lihat Kursus

Petunjuk latihan

  • Lakukan iterasi atas variabel-variabel.
  • Pada setiap iterasi, tambahkan variabel berikutnya dalam variables ke variables_evaluate.
  • Pada setiap iterasi, hitung AUC train dan test menggunakan metode auc_train_test. DataFrame train dan test masing-masing berisi data train dan test.
  • Pada setiap iterasi, tambahkan nilai yang dihitung ke auc_values_train dan auc_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()
Edit dan Jalankan Kode