Začněte nyníZačněte zdarma

vtreat na malém příkladu

V tomto cvičení použiješ vtreat k one-hot-encodingu kategorické proměnné na malém příkladu. vtreat vytvoří plán úprav pro transformaci kategorických proměnných na indikátorové proměnné (kód "lev") a pro čištění chybných hodnot v numerických proměnných (kód "clean").

Pro návrh plánu úprav použij funkci designTreatmentsZ() (docs)

treatplan <- designTreatmentsZ(data, varlist)
  • data: původní trénovací datový rámec
  • varlist: vektor vstupních proměnných, které mají být upraveny (jako řetězce).

designTreatmentsZ() vrací seznam s prvkem scoreFrame: datový rámec obsahující názvy a typy nových proměnných:

scoreFrame <- treatplan %>% 
            magrittr::use_series(scoreFrame) %>% 
            select(varName, origName, code)
  • varName: název nové upravené proměnné
  • origName: název původní proměnné, ze které upravená proměnná pochází
  • code: typ nové proměnné.
    • "clean": numerická proměnná bez hodnot NA nebo NaN
    • "lev": indikátorová proměnná pro konkrétní úroveň původní kategorické proměnné.

(magrittr::use_series() (docs) je alias pro $, který lze použít v rouře.)

V těchto cvičeních chceme varName, kde code je buď "clean", nebo "lev":

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

Pro transformaci datasetu na čistě numerické a one-hot-enkódované proměnné použij prepare() (docs):

data.treat <- prepare(treatplan, data, varRestrictions = newvarlist)
  • treatplan: plán úprav
  • data: datový rámec, který má být upraven
  • varRestrictions: proměnné požadované v upraveném datovém rámci

Dataový rámec dframe a balíček magrittr jsou předem načteny.

Toto cvičení je součástí kurzu

Supervised Learning in R: Regression

Zobrazit kurz

Pokyny k cvičení

  • Vypiš dframe. Budeme předpokládat, že color a size jsou vstupní proměnné a popularity je výstup, který chceme předpovídat.
  • Vytvoř vektor vars s názvy vstupních proměnných (jako řetězce).
  • Načti balíček vtreat.
  • Pomocí designTreatmentsZ() vytvoř plán úprav pro proměnné ve vektoru vars. Výsledek ulož do proměnné treatplan.
  • Získej a prohlédni si scoreFrame z plánu úprav, abys viděl/a mapování starých proměnných na nové.
    • Potřebuješ jen sloupce varName, origName a code.
    • Jaké jsou názvy nových indikátorových proměnných? A spojité proměnné?
  • Vytvoř vektor newvars, který obsahuje hodnoty varName, kde code je buď clean, nebo lev. Vypiš ho.
  • Pomocí prepare() vytvoř nový datový rámec dframe.treat, který je one-hot-enkódovanou verzí dframe (bez sloupce s výstupní proměnnou).
    • Vypiš ho a porovnej s dframe.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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))
Upravit a spustit kód