Zacznij terazZacznij za darmo

Przycinanie drzewa ze zmienionymi prawdopodobieństwami a priori

W lekcji wideo dowiedziałeś się, że przycinanie drzewa jest niezbędne, aby uniknąć przeuczenia. W poprzednich ćwiczeniach pojawiały się duże drzewa – teraz czas zastosować zdobytą wiedzę w praktyce i przyciąć wcześniej zbudowane drzewo ze zmienionymi prawdopodobieństwami a priori. Pakiet rpart jest już wczytany w twoim środowisku.

Na początku ustawisz ziarno losowości, aby wyniki były powtarzalne – jak wspomniano w filmie, ponieważ będziesz analizować wyniki błędu kroswalidacyjnego. Wyniki zawierają element losowości i mogą się nieznacznie różnić przy ponownym uruchomieniu funkcji z innym ziarnem.

W tym ćwiczeniu nauczysz się identyfikować, która wartość parametru złożoności (CP) minimalizuje błąd kroswalidacyjny, a następnie przytniesz drzewo na podstawie tej wartości.

To ćwiczenie jest częścią kursu

Modelowanie ryzyka kredytowego w R

Zobacz kurs

Instrukcje do ćwiczenia

  • tree_prior jest wczytane w twoim środowisku.
  • Użyj plotcp(), aby zwizualizować błąd kroswalidacyjny (X-val Relative Error) w zależności od parametru złożoności dla tree_prior.
  • Użyj printcp(), aby wyświetlić tabelę z informacjami o CP, podziałach i błędach. Sprawdź, czy potrafisz wskazać, który podział ma minimalny błąd kroswalidacyjny w tree_prior.
  • Użyj which.min(), aby znaleźć, który wiersz w tree_prior$cptable ma minimalny błąd kroswalidacyjny "xerror". Wynik przypisz do zmiennej index.
  • Utwórz tree_min, wybierając wartość z tree_prior$cptable pod indeksem index w kolumnie "CP".
  • Użyj funkcji prune(), aby uzyskać przycięte drzewo. Nadaj mu nazwę ptree_prior.
  • Pakiet rpart.plot jest wczytany w twoim środowisku. Wykreśl przycięte drzewo za pomocą funkcji prp() (ustawienia domyślne).

Interaktywne ćwiczenie praktyczne

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

# tree_prior is loaded in your workspace

# Plot the cross-validated error rate as a function of the complexity parameter


# Use printcp() to identify for which complexity parameter the cross-validated error rate is minimized.


# Create an index for of the row with the minimum xerror
index <- which.min(___$___[ , "xerror"])

# Create tree_min
tree_min <- tree_prior$cptable[index, "CP"]

#  Prune the tree using tree_min
ptree_prior <- prune(___, cp = ___)

# Use prp() to plot the pruned tree
Edytuj i uruchom kod