MulaiMulai sekarang secara gratis

Level baru (novel levels)

Ketika suatu level pada variabel kategorikal sangat jarang, terkadang level tersebut tidak muncul dalam data pelatihan. Jika level langka itu kemudian muncul pada data masa depan, model di hilir mungkin tidak tahu cara menanganinya. Saat novel levels seperti itu muncul, penggunaan model.matrix atau caret::dummyVars untuk one-hot-encoding tidak akan berfungsi dengan benar.

vtreat adalah alternatif yang lebih "aman" dibanding model.matrix untuk one-hot-encoding, karena dapat menangani novel levels dengan aman. vtreat juga menangani nilai hilang dalam data (baik kategorikal maupun kontinu).

Dalam latihan ini, Anda akan melihat bagaimana vtreat menangani nilai kategorikal yang tidak muncul di himpunan data pelatihan. Rencana perlakuan treatplan dan himpunan variabel newvars dari latihan sebelumnya masih tersedia. dframe dan kerangka data baru testframe telah dimuat sebelumnya.

Latihan ini adalah bagian dari kursus

Supervised Learning di R: Regresi

Lihat Kursus

Petunjuk latihan

  • Cetak dframe dan testframe.
    • Adakah warna di testframe yang tidak muncul di dframe?
  • Panggil prepare() untuk membuat versi one-hot-encoded dari testframe (tanpa outcome). Beri nama testframe.treat dan cetak.
    • Gunakan argumen varRestriction untuk membatasi hanya pada variabel di newvars.
    • Bagaimana baris berwarna yellow dikodekan?

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# treatplan is available
summary(treatplan)

# newvars is available
newvars

# Print dframe and testframe
___
___

# Use prepare() to one-hot-encode testframe
(testframe.treat <- ___(___, ___, varRestriction = ___))
Edit dan Jalankan Kode