Batasan pengujian cross-validation
Anda dapat menentukan angka yang sangat besar untuk nfold dan num_boost_round jika ingin melakukan cross-validation dalam jumlah yang ekstrem. Data frame cv_results_big sudah dimuat di ruang kerja dan dibuat dengan kode berikut:
cv = xgb.cv(params, DTrain, num_boost_round = 600, nfold=10,
shuffle = True)
Di sini, cv() melakukan 600 iterasi cross-validation! Parameter shuffle memberi tahu fungsi untuk mengacak catatan setiap kali.
Amati data ini untuk melihat berapa nilai AUC, dan periksa apakah mereka mencapai 1.0 menggunakan cross-validation. Anda juga sebaiknya memplot skor AUC pengujian untuk melihat perkembangannya.
Data frame cv_results_big telah dimuat ke dalam ruang kerja.
Latihan ini adalah bagian dari kursus
Pemodelan Risiko Kredit dengan Python
Petunjuk latihan
- Cetak lima baris pertama dari data frame hasil CV.
- Cetak rata-rata AUC set pengujian dari data frame hasil CV yang dibulatkan hingga dua angka di belakang koma.
- Buat plot garis dari AUC set pengujian sepanjang setiap iterasi.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Print the first five rows of the CV results data frame
print(____.____())
# Calculate the mean of the test AUC scores
print(np.____(____[____]).round(2))
# Plot the test AUC scores for each iteration
plt.____(____[____])
plt.title('Test AUC Score Over 600 Iterations')
plt.xlabel('Iteration Number')
plt.ylabel('Test AUC Score')
plt.____()