ROC křivky pro porovnání modelů logistické regrese
ROC křivky lze v R snadno vytvořit pomocí balíčku pROC. Podívejme se, jestli se ROC křivky čtyř modelů logistické regrese, které jsme v kurzu používali, výrazněji liší. Krátké shrnutí:
predictions_logitobsahuje predikce pravděpodobnosti selhání (PD) s využitím výchozího logit odkazu a proměnnýchage,emp_cat,ir_cataloan_amnt.predictions_probitobsahuje PD predikce s využitím probitu a proměnnýchage,emp_cat,ir_cataloan_amnt.predictions_cloglogobsahuje PD predikce s využitím odkazu cloglog a proměnnýchage,emp_cat,ir_cataloan_amnt.predictions_all_fullobsahuje PD predikce s využitím výchozího logit odkazu a všech sedmi proměnných v datové sadě.
Nejprve vykreslíš ROC křivky všech čtyř modelů do jednoho grafu a poté se podíváš na plochu pod křivkou.
Toto cvičení je součástí kurzu
Modelování kreditního rizika v R
Pokyny k cvičení
- Načti balíček pROC do R konzole.
- Vytvoř ROC objekty pro čtyři modely logistické regrese pomocí funkce
roc(response, predictor). Jako response použij indikátor stavu půjčky ztest_set, který získáš přestest_set$loan_status. - Pomocí právě vytvořených objektů vykresli ROC křivky. Aby se zobrazily v jednom grafu, použij
plot()pro první křivku (proROC_logit) a [lines()](https://www.rdocumentation.org/packages/graphics/functions/lines to add the ROC-curves) pro přidání zbývajících tří modelů do téhož grafu. - Pomocí argumentu
colzměň barvu křivkyROC_probitna"blue",ROC_cloglogna"red"aROC_all_fullna"green". Všimni si, že na rozdíl od toho, co bylo ukázáno ve videu, osa x je označena jako Specificity, nikoli "1-Specificity", takže osa jde zleva od hodnoty 1 doprava k hodnotě 0. - Zdá se, že volba funkce odkazu nemá na ROC velký vliv — hlavním faktorem zlepšení ROC je zahrnutí většího počtu proměnných do modelu. Pro přesné srovnání výkonu ROC křivek se podívej na hodnoty AUC pomocí funkce auc().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Load the pROC-package
# Construct the objects containing ROC-information
ROC_logit <- roc(test_set$loan_status, predictions_logit)
ROC_probit <-
ROC_cloglog <-
ROC_all_full <-
# Draw all ROCs on one plot
plot(___)
lines(___, col=___)
lines(___, col=___)
lines(___, col=___)
# Compute the AUCs