Zacznij terazZacznij za darmo

Undersampling zbioru treningowego

W materiale wideo zobaczyłeś, że aby poradzić sobie z problemem niezbalansowanych danych, możesz zastosować undersampling lub oversampling. Zbiór treningowy został dla ciebie poddany undersamplingowi tak, że 1/3 obserwacji to przypadki niewypłacalności, a 2/3 to przypadki bez niewypłacalności. Wynikowy zbiór danych jest dostępny w twoim środowisku pod nazwą undersampled_training_set i zawiera mniej obserwacji (6570 zamiast 19394). W tym ćwiczeniu zbudujesz drzewo decyzyjne na podstawie tego zbioru.

Zauważysz, że drzewa w tym i kolejnych ćwiczeniach są bardzo duże – tak duże, że trudno je odczytać. Na razie się tym nie przejmuj – w następnym materiale wideo pokażemy ci, jak uczynić je bardziej czytelnymi!

To ćwiczenie jest częścią kursu

Modelowanie ryzyka kredytowego w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Pakiet rpart został już zainstalowany. Załaduj go do swojego środowiska.
  • Zmodyfikuj podany kod tak, aby drzewo decyzyjne było budowane na podstawie undersamplowanego zbioru treningowego zamiast training_set. Dodaj również argument control = rpart.control(cp = 0.001). Parametr cp – czyli parametr złożoności – to wartość progowa dla spadku ogólnego braku dopasowania przy każdym podziale. Jeśli wartość cp nie zostanie osiągnięta, dalsze podziały nie będą wykonywane. Domyślna wartość cp wynosi 0,01, ale w przypadku złożonych problemów zaleca się jej zmniejszenie.
  • Zwizualizuj drzewo decyzyjne, używając funkcji plot z nazwą obiektu drzewa jako argumentem. Dodaj drugi argument uniform = TRUE, aby uzyskać gałęzie równej długości.
  • Poprzednie polecenie tworzy drzewo z węzłami i krawędziami, ale bez żadnych etykiet. Użyj funkcji text() z jedynym argumentem tree_undersample, aby dodać etykiety.

Interaktywne ćwiczenie praktyczne

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

# Load package rpart in your workspace.


# Change the code provided in the video such that a decision tree is constructed using the undersampled training set. Include rpart.control to relax the complexity parameter to 0.001.
tree_undersample <- rpart(loan_status ~ ., method = "class",
                          data =  training_set)

# Plot the decision tree


# Add labels to the decision tree
Edytuj i uruchom kod