LoslegenKostenlos starten

Klassenungleichgewichte vermeiden

Manche Daten haben sehr ungleich verteilte Zielwerte – etwa bei seltenen Krankheiten. Wenn du zufällig splittest, kannst du Pech haben: Stell dir vor, alle seltenen Beobachtungen landen im Testset und keine im Trainingsset. Das würde den gesamten Trainingsprozess ruinieren!

Zum Glück gibt es mit der Funktion initial_split() ein Gegenmittel. In dieser Übung beobachtest und behebst du solche sogenannten Klassenungleichgewichte.

Es ist bereits Code vorhanden, der ein Split-Objekt diabetes_split mit 75 % Training und 25 % Test erstellt.

Diese Übung ist Teil des Kurses

<Kurs>Maschinelles Lernen mit baumbasierten Modellen in R</Kurs>
Kurs ansehen

Interaktive praktische Übung

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

# Preparation
set.seed(9888)
diabetes_split <- initial_split(diabetes, prop = 0.75)

# Proportion of 'yes' outcomes in the training data
counts_train <- table(training(___)$outcome)
prop_yes_train <- counts_train["___"] / sum(counts_train)

# Proportion of 'yes' outcomes in the test data
counts_test <- table(___)
prop_yes_test <- ___ / sum(___)

paste("Proportion of positive outcomes in training set:", round(prop_yes_train, 2))
paste("Proportion of positive outcomes in test set:", round(prop_yes_test, 2))
Code bearbeiten und ausführen