Ange ett gränsvärde
Vi har visat hur valet av gränsvärde kan avgöra om du får en bra konfusionsmatris. Nu ska du lära dig att omvandla prediktionsvektorn till en vektor med binära värden som anger lånets status. Funktionen ifelse() i R är ett bra verktyg här.
När du använder ifelse() med ett gränsvärde ser det ut ungefär så här:
ifelse(predictions > 0.3, 1, 0)
I det första argumentet testar du om ett visst värde i prediktionsvektorn är större än 0.3. Om det är TRUE returnerar R "1" (angivet i det andra argumentet), och om det är FALSE returnerar R "0" (angivet i det tredje argumentet) – där "1" representerar "fallissemang" och "0" representerar "inget fallissemang".
Den här övningen är en del av kursen
Kreditriskmodellering i R
Övningsinstruktioner
- Koden för den fullständiga logistiska regressionsmodellen tillsammans med prediktionsvektorn finns redan i din konsol.
- Skapa vektorn
pred_cutoff_15med hjälp av funktionenifelse()ochpredictions_all_full, med ett gränsvärde på 0.15. - Undersök konfusionsmatrisen med
table()(ange de sanna värdena, det vill sägatest_set$loan_status, som första argument).
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# The code for the logistic regression model and the predictions is given below
log_model_full <- glm(loan_status ~ ., family = "binomial", data = training_set)
predictions_all_full <- predict(log_model_full, newdata = test_set, type = "response")
# Make a binary predictions-vector using a cut-off of 15%
# Construct a confusion matrix