ÎncepețiÎncepe gratuit

Calcularea câștigului pentru un arbore

În video, ai văzut cum se folosește măsura Gini pentru a determina cea mai bună împărțire a unui arbore. Acum vei calcula câștigul pentru arborele încărcat în spațiul tău de lucru.

Setul de date conține 500 de cazuri, dintre care 89 sunt cazuri de nerambursare. Aceasta a condus la un Gini de 0,292632 în nodul rădăcină. Ca un mic memento, reține că Gini al unui nod = 2 * proporția cazurilor de nerambursare din nod * proporția cazurilor fără nerambursare din nod. Aruncă o privire la cod pentru a-ți reîmprospăta memoria.

gini_root <- 2 * (89 / 500) * (411 / 500)

Vei folosi aceste măsuri Gini pentru a calcula câștigul nodurilor frunză față de nodul rădăcină. Consultă codul de mai jos pentru a înțelege cum poți folosi măsurile Gini create pentru a calcula câștigul unui nod.

Gain = gini_root - (prop(cases left leaf) * gini_left) - (prop(cases right leaf * gini_right))

Calculează Gini pentru nodul stâng și pentru nodul drept, precum și câștigul celor două noduri frunză față de nodul rădăcină. Obiectul care conține arborele este small_tree.

Acest exercițiu face parte din cursul

Modelarea riscului de credit în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculul pentru Gini al nodului rădăcină este deja furnizat.
  • Calculează măsura Gini pentru nodul frunză stâng.
  • Calculează măsura Gini pentru nodul frunză drept.
  • Calculează câștigul scăzând din Gini al nodului rădăcină măsurile Gini ponderate ale nodurilor frunză.
  • Informațiile despre împărțirea din acest arbore pot fi accesate folosind $split și obiectul arborelui, small_tree. În loc de câștig, urmărește coloana improve. improve este o metrică alternativă pentru câștig, obținută pur și simplu prin înmulțirea câștigului cu numărul de cazuri din setul de date. Asigură-te că obiectul improve (cod furnizat) are aceeași valoare ca în small_tree$split.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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
Editează și rulează codul