Bir ağaç için kazancı hesaplama
Videoda, mükemmel bölünmeyi oluşturmak için Gini ölçütünün nasıl kullanıldığını gördün. Şimdi, çalışma alanına yüklenmiş ağaç için kazancı hesaplayacaksın.
Veri kümesi 500 vakadan oluşuyor; bunların 89'u temerrüt. Bu, kök düğümde 0.292632 Gini değerine yol açtı. Küçük bir hatırlatma: Belirli bir düğümün Gini değeri = 2 * o düğümdeki temerrüt oranı * o düğümdeki temerrüt dışı oranı. Hatırlamak için aşağıdaki koda göz atabilirsin.
gini_root <- 2 * (89 / 500) * (411 / 500)
Bu Gini ölçümlerini, yaprak düğümlerin kök düğüme göre kazancını hesaplamana yardımcı olmak için kullanacaksın. Oluşturduğun Gini ölçülerini bir düğümün kazancını hesaplamakta nasıl kullanabileceğine dair fikir edinmek için aşağıdaki koda bak.
Gain = gini_root - (prop(cases left leaf) * gini_left) - (prop(cases right leaf * gini_right))
Sol ve sağ düğümlerdeki Gini'yi ve iki yaprak düğümün kök düğüme göre kazancını hesapla. Ağacı içeren nesne small_tree.
Bu egzersiz
R ile Kredi Riski Modellemesi
kursunun bir parçasıdırEgzersiz talimatları
- Kök düğümün Gini hesabı verilmiştir.
- Sol yaprak düğüm için Gini ölçüsünü hesapla.
- Sağ yaprak düğüm için Gini ölçüsünü hesapla.
- Kazancı, kök düğüm Gini'si ile ağırlıklandırılmış yaprak düğüm Gini ölçülerinin farkını alarak hesapla.
- Bu ağaçtaki bölünmeye ilişkin bilgileri
$splitve ağaç nesnesismall_treeile bulabilirsin. Burada gain yerineimprovesütununa bakmalısın.improve, gain'in veri kümesindeki vaka sayısıyla çarpılmasıyla elde edilen alternatif bir ölçüdür.improvenesnesinin (kodu veriliyor) değerininsmall_tree$splitiçindeki değerle aynı olduğundan emin ol.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# The Gini-measure of the root node is given below
gini_root <- 2 * 89 / 500 * 411 / 500
# Compute the Gini measure for the left leaf node
gini_ll <-
# Compute the Gini measure for the right leaf node
gini_rl <-
# Compute the gain
gain <- gini_root - 446 / 500 * gini_ll - 54 / 500 * gini_rl
# compare the improve-column in small_tree$splits with our computed gain, multiplied by 500, and assure they are the same
small_tree$splits
improve <- gain * 500