1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Modelování kreditního rizika v R

Connected

cvičení

Matice záměn a přesnost našich finálních stromů

V předchozích cvičeních jsi sestavil/a celkem čtyři ořezané rozhodovací stromy. Jak vidíš, výsledný počet větvení se mezi stromy dost liší:

ptree_undersample  # 7 splits
ptree_prior  # 9 splits
ptree_loss_matrix  # 24 splits
ptree_weights  # 6 splits

Teď je důležité zjistit, který strom si vede nejlépe z hlediska přesnosti. Nejprve proto pomocí testovací sady vytvoříš predikce a pro každý strom sestavíš matici záměn. Při predikci použij argument type = "class" — díky tomu nemusíš nastavovat žádnou prahovou hodnotu.

Měj ale na paměti, že důležitá není jen přesnost, ale také senzitivita a specificita. Predikce pravděpodobností místo binárních hodnot (0 nebo 1) má navíc tu výhodu, že prahovou hodnotu lze libovolně posouvat. Volba správné prahové hodnoty ovšem není triviální — k tomu se vrátíme v příští kapitole.

Pro připomenutí, takhle se počítá přesnost klasifikace: $$\textrm{Classification accuracy} = \frac{(TP + TN)}{(TP + FP + TN + FN)}$$

Pokyny

100 XP
  • Pomocí predict() vytvoř predikce pro všechny čtyři stromy. Testovací sadu test_set zadej jako argument newdata. Nezapomeň přidat type = "class"!
  • Pro každý rozhodovací strom sestav matici záměn. Použij funkci table() — jako první uveď skutečné hodnoty (pomocí test_set$loan_status), za nimi predikce.
  • Na základě každé matice záměn vypočítej přesnost klasifikace.