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
Instrukcje do ćwiczenia
tree_priorjest 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 dlatree_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 wtree_prior. - Użyj
which.min(), aby znaleźć, który wiersz wtree_prior$cptablema minimalny błąd kroswalidacyjny"xerror". Wynik przypisz do zmiennejindex. - Utwórz
tree_min, wybierając wartość ztree_prior$cptablepod indeksemindexw kolumnie"CP". - Użyj funkcji
prune(), aby uzyskać przycięte drzewo. Nadaj mu nazwęptree_prior. - Pakiet
rpart.plotjest 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