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

Nové úrovně kategorií

Pokud je některá úroveň kategorické proměnné vzácná, může se stát, že se v trénovacích datech vůbec neobjeví. Když se taková nová úroveň vyskytne v budoucích datech, navazující modely si s ní nemusí vědět rady. V takovém případě model.matrix ani caret::dummyVars pro one-hot-encoding nebudou fungovat správně.

vtreat je „bezpečnější" alternativou k model.matrix pro one-hot-encoding, protože si s novými úrovněmi poradí. vtreat navíc umí pracovat s chybějícími hodnotami v datech (jak u kategorických, tak u spojitých proměnných).

V tomto cvičení uvidíš, jak vtreat zpracovává kategorické hodnoty, které se v trénovací množině nevyskytovaly. Plán zpracování treatplan a sada proměnných newvars z předchozího cvičení jsou stále k dispozici. dframe a nový datový rámec testframe 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 a testframe.
    • Obsahuje testframe nějaké barvy, které se v dframe nevyskytovaly?
  • Zavolej prepare() a vytvoř one-hot-enkódovanou verzi testframe (bez výstupní proměnné). Pojmenuj ji testframe.treat a vypiš ji.
    • Použij argument varRestriction, abys omezil/a výběr pouze na proměnné obsažené v newvars.
    • Jak jsou zakódované řádky s žlutou barvou?

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

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

# treatplan is available
summary(treatplan)

# newvars is available
newvars

# Print dframe and testframe
___
___

# Use prepare() to one-hot-encode testframe
(testframe.treat <- ___(___, ___, varRestriction = ___))
Upravit a spustit kód