ÎncepețiÎncepe gratuit

Niveluri noi

Când un nivel al unei variabile categorice este rar, uneori nu va apărea în datele de antrenament. Dacă acel nivel rar apare ulterior în date noi, modelele din aval s-ar putea să nu știe cum să îl gestioneze. Când apar astfel de niveluri noi, utilizarea model.matrix sau caret::dummyVars pentru one-hot-encoding nu va funcționa corect.

vtreat este o alternativă „mai sigură" față de model.matrix pentru one-hot-encoding, deoarece poate gestiona nivelurile noi în mod corespunzător. vtreat gestionează, de asemenea, valorile lipsă din date (atât categorice, cât și continue).

În acest exercițiu, vei vedea cum gestionează vtreat valorile categorice care nu au apărut în setul de antrenament. Planul de tratament treatplan și setul de variabile newvars din exercițiul anterior sunt încă disponibile. dframe și un nou data frame testframe 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 și testframe.
    • Există culori în testframe care nu au apărut în dframe?
  • Apelează prepare() pentru a crea o versiune one-hot-encoded a lui testframe (fără variabila rezultat). Numește-o testframe.treat și afișeaz-o.
    • Folosește argumentul varRestriction pentru a restricționa rezultatul doar la variabilele din newvars.
    • Cum sunt codificate rândurile galbene?

Exercițiu interactiv practic

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

# treatplan is available
summary(treatplan)

# newvars is available
newvars

# Print dframe and testframe
___
___

# Use prepare() to one-hot-encode testframe
(testframe.treat <- ___(___, ___, varRestriction = ___))
Editează și rulează codul