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

Küçük bir örnekte vtreat

Bu egzersizde, küçük bir örnek üzerinde kategorik bir değişkeni one-hot-encode etmek için vtreat kullanacaksın. vtreat, kategorik değişkenleri gösterge (indicator) değişkenlerine dönüştürmek için bir treatment plan oluşturur (kod "lev"), ve sayısal değişkenlerdeki hatalı değerleri temizler (kod "clean").

Bir treatment plan tasarlamak için designTreatmentsZ() (docs) fonksiyonunu kullan:

treatplan <- designTreatmentsZ(data, varlist)
  • data: orijinal eğitim veri çerçevesi
  • varlist: dönüştürülecek girdi değişkenlerinin (string olarak) bir vektörü.

designTreatmentsZ() bir liste döndürür ve içinde scoreFrame öğesi bulunur: yeni değişkenlerin adlarını ve türlerini içeren bir veri çerçevesi:

scoreFrame <- treatplan %>% 
            magrittr::use_series(scoreFrame) %>% 
            select(varName, origName, code)
  • varName: yeni dönüştürülmüş değişkenin adı
  • origName: dönüştürülmüş değişkenin türetildiği orijinal değişkenin adı
  • code: yeni değişkenin türü.
    • "clean": NA veya NaN içermeyen sayısal değişken
    • "lev": orijinal kategorik değişkenin belirli bir düzeyi için gösterge değişkeni.

(magrittr::use_series() (docs) pipe içinde kullanabileceğin, $ için bir takma addır.)

Bu egzersizlerde, code değeri "clean" veya "lev" olan varName değerlerini istiyoruz:

newvarlist <- scoreFrame %>% 
             filter(code %in% c("clean", "lev") %>%
             magrittr::use_series(varName)

Veri kümesini tamamen sayısal ve one-hot-encoded değişkenlere dönüştürmek için prepare() (docs) kullan:

data.treat <- prepare(treatplan, data, varRestrictions = newvarlist)
  • treatplan: treatment plan
  • data: dönüştürülecek veri çerçevesi
  • varRestrictions: dönüştürülmüş veride istenen değişkenler

dframe veri çerçevesi ve magrittr paketi önceden yüklendi.

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

R'de Supervised Learning: Regresyon

Kursa Göz Atın

Egzersiz talimatları

  • dframe'i yazdır. color ve size'ın girdi değişkenleri, popularity'nin ise tahmin edilecek çıktı olduğunu varsayacağız.
  • Girdi değişkenlerinin adlarını (string olarak) içeren vars adlı bir vektör oluştur.
  • vtreat paketini yükle.
  • designTreatmentsZ() kullanarak vars içindeki değişkenler için bir treatment plan oluştur. Bunu treatplan değişkenine ata.
  • Treatment plan içinden scoreFrame'i al ve eski değişkenlerden yeni değişkenlere eşlemeyi görmek için incele.
    • Sadece varName, origName ve code sütunlarına ihtiyacın var.
    • Yeni gösterge değişkenlerinin adları neler? Sürekli değişkenin adı ne?
  • code değeri clean veya lev olan varName değişkenini içeren newvars adlı bir vektör oluştur. Yazdır.
  • prepare() kullanarak, dframe'in one-hot-encoded sürümü olan (çıktı sütunu olmadan) yeni bir veri çerçevesi dframe.treat oluştur.
    • Yazdır ve dframe ile karşılaştır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Print dframe
dframe

# Create and print a vector of variable names
(vars <- ___)

# Load the package vtreat
___

# Create the treatment plan
treatplan <- ___(___, ___)

# Examine the scoreFrame
(scoreFrame <- treatplan %>%
    use_series(scoreFrame) %>%
    select(___, ___, ___))

# We only want the rows with codes "clean" or "lev"
(newvars <- scoreFrame %>%
    filter(code %in% ___) %>%
    use_series(varName))

# Create the treated training data
(dframe.treat <- ___(___, ___, varRestriction = newvars))
Kodu Düzenle ve Çalıştır