1. Learn
  2. /
  3. Courses
  4. /
  5. Supervised Learning in R: Regression

Connected

Exercise

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.

Instructions

100 XP
  • 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.