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

Porovnání linkových funkcí pro danou prahovou hodnotu

V tomto závěrečném cvičení natrénuješ model pro každou ze tří linkových funkcí (logit, probit a cloglog), vytvoříš predikce pro testovací sadu, klasifikuješ je do příslušné skupiny (defaultní vs. nedefaultní) podle zvolené prahové hodnoty, sestavíš matici záměn a vypočítáš přesnost a senzitivitu každého modelu. Nakonec zkusíš určit, který model si vede nejlépe z hlediska přesnosti při dané prahové hodnotě!

Měj na paměti, že rozdíly mezi modely bývají zpravidla velmi malé a výsledky závisí na zvolené prahové hodnotě. Skutečný výsledek (defaultní vs. nedefaultní) je uložen v proměnné true_val v konzoli.

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

Modelování kreditního rizika v R

Zobrazit kurz

Pokyny k cvičení

  • Natrénuj tři modely logistické regrese s linkovými funkcemi logit, probit a cloglog. Část kódu je již připravená. Jako prediktory použij age, emp_cat, ir_cat a loan_amnt.
  • Vytvoř predikce pro všechny tři modely pomocí test_set.
  • Použij prahovou hodnotu 14 % pro klasifikaci predikcí každého modelu, aby bylo možné vyhodnotit jejich výkon.
  • Sestavte matici záměn pro všechny tři modely.
  • Nakonec vypočítej klasifikační přesnost pro každý z modelů.

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

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

# Fit the logit, probit and cloglog-link logistic regression models
log_model_logit <- glm(loan_status ~ age + emp_cat + ir_cat + loan_amnt,
                       family = binomial(link = logit), data = training_set)
log_model_probit <- 

log_model_cloglog <-  
  
# Make predictions for all models using the test set
predictions_logit <- predict(log_model_logit, newdata = test_set, type = "response")
predictions_probit <- 
predictions_cloglog <- 
  
# Use a cut-off of 14% to make binary predictions-vectors
cutoff <- 0.14
class_pred_logit <- ifelse(predictions_logit > cutoff, 1, 0)
class_pred_probit <- 
class_pred_cloglog <- 
  
# Make a confusion matrix for the three models
tab_class_logit <- table(true_val,class_pred_logit)
tab_class_probit <- 
tab_class_cloglog <- 
  
# Compute the classification accuracy for all three models
acc_logit <- sum(diag(tab_class_logit)) / nrow(test_set)
acc_probit <- 
acc_cloglog <- 
Upravit a spustit kód