Aan de slagGa gratis aan de slag

Ontbrekende data behouden

In sommige situaties is het feit dat een invoer ontbreekt op zichzelf al belangrijke informatie. Je kunt NA's in een aparte "missing"-categorie houden met behulp van grove classificatie.

Grove classificatie helpt je om je data te vereenvoudigen en de interpreteerbaarheid van je model te verbeteren. Bij grove classificatie deel je je waarden in groepen met waardebereiken in. Met deze techniek kun je alle NA's in hun eigen bin plaatsen.

In de video illustreerden we het idee van grove classificatie voor de duur van het dienstverband. De code uit dat voorbeeld is overgenomen in het R-script rechts en kan worden aangepast om de variabele int_rate grof te classificeren.

Deze oefening maakt deel uit van de cursus

Kredietrisicomodellering in R

Cursus bekijken

Oefeninstructies

  • Breng de nodige aanpassingen aan in de gegeven code om int_rate grof te classificeren en sla het resultaat op in een nieuwe variabele ir_cat.
    • Vervang eerst loan_data$emp_cat door loan_data$ir_cat waar dit voorkomt in het R-script, en vervang ook loan_data$emp_length door loan_data$int_rate.
    • Vervolgens moeten de variabelen worden ingedeeld in de categorieën "0-8", "8-11", "11-13.5" en "13.5+" (ter vervanging van "0-15","15-30","30-45" en "45+"). Het gebruik van > en <= is precies zoals in de video. Vergeet niet de getallen in de voorwaardelijke uitspraken ook aan te passen (15, 30 en 45 moeten respectievelijk 8, 11 en 13.5 worden).
  • Bekijk je nieuwe variabele ir_cat met plot(loan_data$ir_cat).

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Make the necessary replacements in the coarse classification example below 
loan_data$emp_cat <- rep(NA, length(loan_data$emp_length))

loan_data$emp_cat[which(loan_data$emp_length <= 15)] <- "0-15"
loan_data$emp_cat[which(loan_data$emp_length > 15 & loan_data$emp_length <= 30)] <- "15-30"
loan_data$emp_cat[which(loan_data$emp_length > 30 & loan_data$emp_length <= 45)] <- "30-45"
loan_data$emp_cat[which(loan_data$emp_length > 45)] <- "45+"
loan_data$emp_cat[which(is.na(loan_data$emp_length))] <- "Missing"

loan_data$emp_cat <- as.factor(loan_data$emp_cat)

# Look at your new variable using plot()
Code bewerken en uitvoeren