ÎncepețiÎncepe gratuit

vtreat pe un exemplu simplu

În acest exercițiu, vei folosi vtreat pentru a aplica one-hot-encoding unei variabile categorice pe un exemplu simplu. vtreat creează un plan de tratament pentru a transforma variabilele categorice în variabile indicator (codate "lev") și pentru a curăța valorile invalide din variabilele numerice (codate "clean").

Pentru a crea un plan de tratament, folosește funcția designTreatmentsZ() (docs)

treatplan <- designTreatmentsZ(data, varlist)
  • data: data frame-ul original de antrenament
  • varlist: un vector cu variabilele de intrare care urmează să fie tratate (ca șiruri de caractere).

designTreatmentsZ() returnează o listă cu elementul scoreFrame: un data frame care include numele și tipurile noilor variabile:

scoreFrame <- treatplan %>% 
            magrittr::use_series(scoreFrame) %>% 
            select(varName, origName, code)
  • varName: numele noii variabile tratate
  • origName: numele variabilei originale din care provine variabila tratată
  • code: tipul noii variabile.
    • "clean": o variabilă numerică fără valori NA sau NaN
    • "lev": o variabilă indicator pentru un nivel specific al variabilei categorice originale.

(magrittr::use_series() (docs) este un alias pentru $ pe care îl poți folosi în pipe-uri.)

Pentru aceste exerciții, dorim varName acolo unde code este fie "clean", fie "lev":

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

Pentru a transforma setul de date în variabile exclusiv numerice și one-hot-encoded, folosește prepare() (docs):

data.treat <- prepare(treatplan, data, varRestrictions = newvarlist)
  • treatplan: planul de tratament
  • data: data frame-ul care urmează să fie tratat
  • varRestrictions: variabilele dorite în datele tratate

Data frame-ul dframe și pachetul magrittr au fost preîncărcate.

Acest exercițiu face parte din cursul

Învățare supervizată în R: Regresia

Vezi cursul

Instrucțiuni pentru exercițiu

  • Afișează dframe. Vom considera că color și size sunt variabile de intrare, iar popularity este rezultatul de prezis.
  • Creează un vector numit vars cu numele variabilelor de intrare (ca șiruri de caractere).
  • Încarcă pachetul vtreat.
  • Folosește designTreatmentsZ() pentru a crea un plan de tratament pentru variabilele din vars. Atribuie-l variabilei treatplan.
  • Extrage și examinează scoreFrame din planul de tratament pentru a vedea corespondența dintre variabilele vechi și cele noi.
    • Ai nevoie doar de coloanele varName, origName și code.
    • Care sunt numele noilor variabile indicator? Dar al variabilei continue?
  • Creează un vector newvars care conține varName acolo unde code este fie clean, fie lev. Afișează-l.
  • Folosește prepare() pentru a crea un nou data frame dframe.treat, care să fie o versiune one-hot-encoded a lui dframe (fără coloana cu rezultatul).
    • Afișează-l și compară-l cu dframe.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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))
Editează și rulează codul