LoslegenKostenlos starten

Neue Ausprägungen

Wenn eine Ausprägung einer kategorialen Variablen selten ist, kann es passieren, dass sie im Trainingsdatensatz gar nicht vorkommt. Taucht diese seltene Ausprägung später in neuen Daten auf, wissen nachgelagerte Modelle eventuell nicht, wie sie damit umgehen sollen. Wenn solche neuen Ausprägungen auftreten, funktionieren model.matrix oder caret::dummyVars zum One-Hot-Encoding nicht korrekt.

vtreat ist eine „sicherere“ Alternative zu model.matrix für One-Hot-Encoding, da es neue Ausprägungen robust handhaben kann. vtreat geht außerdem mit fehlenden Werten in den Daten um (sowohl kategorial als auch kontinuierlich).

In dieser Übung siehst du, wie vtreat kategoriale Werte behandelt, die im Trainingssatz nicht vorkamen. Der Behandlungsplan treatplan und die Variablenmenge newvars aus der vorherigen Übung sind weiterhin verfügbar. dframe und ein neuer Data Frame testframe wurden bereits geladen.

Diese Übung ist Teil des Kurses

<Kurs>Überwachtes Lernen in R: Regression</Kurs>
Kurs ansehen

Übungsanweisungen

  • Gib dframe und testframe aus.
    • Gibt es Farben in testframe, die in dframe nicht vorkamen?
  • Rufe prepare() auf, um eine One-Hot-codierte Version von testframe (ohne Zielvariable) zu erstellen. Nenne sie testframe.treat und gib sie aus.
    • Verwende das Argument varRestriction, um nur auf die Variablen in newvars zu beschränken.
    • Wie werden die gelben Zeilen codiert?

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# treatplan is available
summary(treatplan)

# newvars is available
newvars

# Print dframe and testframe
___
___

# Use prepare() to one-hot-encode testframe
(testframe.treat <- ___(___, ___, varRestriction = ___))
Code bearbeiten und ausführen