MulaiMulai sekarang secara gratis

Menyesuaikan trainControl

Seperti yang Anda lihat di video, area under the ROC curve (AUC) adalah ringkasan satu angka yang sangat berguna untuk mengukur kemampuan model membedakan kelas positif dari negatif (misalnya tambang dari batu). AUC sebesar 0,5 tidak lebih baik daripada menebak acak, AUC 1,0 adalah model yang memprediksi secara sempurna, dan AUC 0,0 adalah model yang sepenuhnya anti-prediktif (yang jarang terjadi).

Sering kali ini jauh lebih berguna daripada sekadar memberi peringkat model berdasarkan akurasi pada satu ambang tertentu, karena model yang berbeda mungkin memerlukan langkah kalibrasi yang berbeda (melihat confusion matrix pada setiap langkah) untuk menemukan ambang klasifikasi optimal bagi model tersebut.

Anda dapat menggunakan fungsi trainControl() di caret untuk menggunakan AUC (alih-alih accuracy) saat menala parameter model Anda. Fungsi kemudahan twoClassSummary() memungkinkan Anda melakukan ini dengan mudah.

Saat menggunakan twoClassSummary(), pastikan selalu menyertakan argumen classProbs = TRUE atau model Anda akan menimbulkan error! (Anda tidak dapat menghitung AUC hanya dengan prediksi kelas. Anda juga harus memiliki probabilitas kelas.)

Latihan ini adalah bagian dari kursus

Machine Learning dengan caret di R

Lihat Kursus

Petunjuk latihan

  • Sesuaikan objek trainControl untuk menggunakan twoClassSummary alih-alih defaultSummary.
  • Gunakan cross-validation 10-fold.
  • Pastikan memberi tahu trainControl() untuk mengembalikan probabilitas kelas.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create trainControl object: myControl
myControl <- trainControl(
  method = "cv",
  number = ___,
  summaryFunction = defaultSummary,
  classProbs = ___, # IMPORTANT!
  verboseIter = TRUE
)
Edit dan Jalankan Kode