Začněte nyníZačněte zdarma

Výpočet zisku pro strom

Ve videu jsi viděl/a, jak se míra Gini používá k nalezení optimálního rozdělení stromu. Teď vypočítáš zisk pro strom načtený ve svém pracovním prostoru.

Datová sada obsahuje 500 případů, z nichž 89 jsou defaulty. To vedlo k hodnotě Gini 0,292632 v kořenovém uzlu. Jako připomínka: Gini daného uzlu = 2 * podíl defaultů v tomto uzlu * podíl non-defaultů v tomto uzlu. Podívej se na následující kód pro osvěžení.

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

Tyto hodnoty Gini použiješ k výpočtu zisku listových uzlů vzhledem ke kořenovému uzlu. Podívej se na následující kód, který ti ukáže, jak hodnoty Gini využít k výpočtu zisku uzlu.

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

Vypočítej hodnotu Gini pro levý a pravý listový uzel a zisk obou listových uzlů vzhledem ke kořenovému uzlu. Objekt obsahující strom se jmenuje small_tree.

Toto cvičení je součástí kurzu

Modelování kreditního rizika v R

Zobrazit kurz

Pokyny k cvičení

  • Výpočet Gini pro kořenový uzel je již zadán.
  • Vypočítej hodnotu Gini pro levý listový uzel.
  • Vypočítej hodnotu Gini pro pravý listový uzel.
  • Vypočítej zisk jako rozdíl mezi Gini kořenového uzlu a váženými hodnotami Gini listových uzlů.
  • Informace o rozdělení v tomto stromu najdeš pomocí $split a objektu stromu small_tree. Místo gain se zde podívej na sloupec improve. improve je alternativní metrika pro zisk – získáš ji jednoduše vynásobením zisku počtem případů v datové sadě. Ověř, že objekt improve (kód je zadán) má stejnou hodnotu jako small_tree$split.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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
Upravit a spustit kód