Zacznij terazZacznij za darmo

Unikanie nierównowagi klas

Niektóre dane zawierają bardzo nierównomiernie rozłożone wyniki – jak na przykład zbiór danych dotyczący rzadkiej choroby. Przy losowym podziale możesz trafić na bardzo niekorzystny układ. Wyobraź sobie, że wszystkie rzadkie obserwacje trafiają do zbioru testowego, a żadna do treningowego. To mogłoby zniweczyć cały proces uczenia!

Na szczęście funkcja initial_split() oferuje rozwiązanie tego problemu. W tym ćwiczeniu zaobserwujesz i rozwiążesz tzw. nierównowagę klas.

Kod tworzący obiekt podziału diabetes_split w proporcji 75% zbiór treningowy i 25% zbiór testowy jest już gotowy.

To ćwiczenie jest częścią kursu

Uczenie maszynowe z modelami drzewiastymi w R

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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))
Edytuj i uruchom kod