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çevesivarlist: 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 plandata: dönüştürülecek veri çerçevesivarRestrictions: 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
Egzersiz talimatları
dframe'i yazdır.colorvesize'ı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
varsadlı bir vektör oluştur. vtreatpaketini yükle.designTreatmentsZ()kullanarakvarsiçindeki değişkenler için bir treatment plan oluştur. Bunutreatplandeğ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,origNamevecodesütunlarına ihtiyacın var. - Yeni gösterge değişkenlerinin adları neler? Sürekli değişkenin adı ne?
- Sadece
codedeğericleanveyalevolanvarNamedeğişkenini içerennewvarsadlı 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çevesidframe.treatoluştur.- Yazdır ve
dframeile karşılaştır.
- Yazdır ve
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))