BaşlayınÜcretsiz başlayın

Yeni seviyeler

Kategorik bir değişkenin bir seviyesi çok nadirse, bazen eğitim verilerinde hiç görünmeyebilir. Bu nadir seviye daha sonra gelecekteki verilerde ortaya çıkarsa, aşağı akıştaki modeller bununla ne yapacağını bilemeyebilir. Bu tür yeni seviyeler ortaya çıktığında, tek-seviyeli kodlama (one-hot-encoding) için model.matrix veya caret::dummyVars kullanmak doğru çalışmayabilir.

vtreat, yeni seviyeleri güvenle yönetebildiği için tek-seviyeli kodlama adına model.matrix'e göre daha "güvenli" bir alternatiftir. vtreat ayrıca verideki eksik değerleri de yönetir (hem kategorik hem sürekli).

Bu egzersizde, vtreat'in eğitim kümesinde görünmemiş kategorik değerleri nasıl ele aldığını göreceksin. Önceki egzersizden gelen işlem planı treatplan ve değişken kümesi newvars hâlâ kullanılabilir. dframe ve yeni bir veri çerçevesi testframe önceden yüklendi.

Bu egzersiz, kursun bir parçasıdır

R'de Supervised Learning: Regresyon

Kursa Göz Atın

Egzersiz talimatları

  • dframe ve testframe'i yazdır.
    • testframe içinde, dframe'de görünmeyen renkler var mı?
  • Sonucu içermeden testframe'in tek-seviyeli kodlanmış bir sürümünü oluşturmak için prepare() çağır. Adını testframe.treat koy ve yazdır.
    • Yalnızca newvars içindeki değişkenlerle sınırlamak için varRestriction argümanını kullan.
    • Sarı (yellow) satırlar nasıl kodlanmış?

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# treatplan is available
summary(treatplan)

# newvars is available
newvars

# Print dframe and testframe
___
___

# Use prepare() to one-hot-encode testframe
(testframe.treat <- ___(___, ___, varRestriction = ___))
Kodu Düzenle ve Çalıştır