Vyhýbání se nerovnoměrnému rozložení tříd
Některá data obsahují velmi nerovnoměrně zastoupené výsledky – například dataset vzácného onemocnění. Při náhodném rozdělení se může stát, že vznikne velmi nevhodný split. Představ si, že všechna vzácná pozorování skončí v testovací sadě a žádné v trénovací. To by celý tréninkový proces zhatilo!
Naštěstí funkce initial_split() nabízí řešení. V tomto cvičení si tuto situaci – tzv. nerovnoměrné rozložení tříd – prohlédneme zblízka a naučíme se ji řešit.
Kód pro vytvoření objektu rozdělení diabetes_split s 75 % trénovací a 25 % testovací sadou je již připraven.
Toto cvičení je součástí kurzu
Machine Learning with Tree-Based Models in R
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))