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
Pokyny k cvičení
- Vypiš
dframeatestframe.- Obsahuje
testframenějaké barvy, které se vdframenevyskytovaly?
- Obsahuje
- Zavolej
prepare()a vytvoř one-hot-enkódovanou verzitestframe(bez výstupní proměnné). Pojmenuj jitestframe.treata vypiš ji.- Použij argument
varRestriction, abys omezil/a výběr pouze na proměnné obsažené vnewvars. - Jak jsou zakódované řádky s žlutou barvou?
- Použij argument
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 = ___))