Zusammenfassung
In dieser Fallstudie wird ein beliebtes Szenario für prädiktive Modellierung und für baumbasierte Verfahren vorgestellt. Die Leitfrage lautet: Anhand welcher personenbezogener Variablen kann man vorhersagen, ob ein Kunde einen Kredit zurückzahlen wird oder nicht? Im Rahmen dieser Fallstudie wird das R-Paket caret verwendet, welches eine einheitliche Syntax für eine Vielzahl prädiktiver Modelle bietet (die Syntax ist vergleichbar mit der von mosaic). Die Fallstudie bearbeitet die wichtigsten Stufen einer solchen Analyse: vom Daten aufbereiten, über Modelle anpassen und vergleichen weiter zur Kreuzvalidierung bis hin zur Bestimmung der Prädiktorenrelevanz.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Allerdings ist Multikollinearität für Vorhersagemodelle, wo es darum geht, einen Wert möglichst exakt vorherzusagen, weniger ein Problem als für Erklärungsmodelle, wo es darum geht, die Art und Stärke des Einfluss von Prädiktoren zu ermitteln (vgl. Hyndman (2014), Punkt 3).
- 2.
- 3.
anyNA() bietet dazu einen Weg.
- 4.
skimr(meine_tabelle).
- 5.
count(GermanCredit, Class).
- 6.
- 7.
- 8.
- 9.
train %>% select(-name_der_variable) -> train.
- 10.
attr(train, ″high corr checked″) <- TRUE.
- 11.
Ja.
- 12.
expand.grid(sex = c(″w″, ″m″, ″x″), age = c(″jj″, ″j″, ″m″, ″a″, ″aa″)).
- 13.
\(3\cdot 5=15\).
- 14.
Es ist eine Liste.
- 15.
Ja.
- 16.
Möchte man herausfinden, welche Tuningparameter ein Modell hat, so kann man die Funktion caret::modelLookup(″svmRadial″) verwenden; man übergibt der Funktion den Namen des Modells.
- 17.
cm_svm2 <- confusionMatrix(data = svm_pred2, reference = test$Class).
- 18.
Nein, die Gefahr, Zufallsrauschen überzubewerten, ist zu groß. Das Test-Sample sollte nur einmal verwendet werden. Das Modell ist immer an anderen Daten zu berechnen als zu testen.
- 19.
modelLookup(″model_name″).
- 20.
Z. B. kann man in dieser Tabelle suchen: https://topepo.github.io/caret/available-models.html.
- 21.
\(4\cdot 5=20\).
- 22.
Ja.
- 23.
str(svm_fit1$results).
- 24.
Die besten Likelihood-Werte werden bestimmt durch bestimmte mathematische Verfahren wie Ableiten und Nullsetzen der Ableitung oder durch Ausprobieren.
- 25.
Z. B. so attr(x = train$Class, which = ″levels″)[1]; mit str(train$Class) bekommt man die Information in ähnlicher Form. Schließlich kann man auch levels(test$Class) verwenden.
- 26.
Mit count(train, Class) bekommt man die absoluten Häufigkeiten; die Anteile bekommt man einfach mit mosaic::tally(~Class, data = train, format = ″proportion″).
- 27.
glm1 <- glm(Class ~ Amount + Age + Duration, family = ″binomial″, data = train).
- 28.
Nein, die erste Faktorstufe wird als null verstanden; bei test$Class ist das Bad. Die zweite Faktorstufe ist das zu modellierende Ereignis; hier ist das Good.
- 29.
Mit debug(compare_accuracies) kann man eine Funktion debuggen, d. h. auf Fehler prüfen.
- 30.
test %>% summarise_all(is_binary) %>% gather %>% filter(value == TRUE) -> test_binaries.
- 31.
test %>% select(one_of(test_binaries$key)).
- 32.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2019 Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature
About this chapter
Cite this chapter
Sauer, S. (2019). Fallstudie: Kreditwürdigkeit mit caret. In: Moderne Datenanalyse mit R. FOM-Edition. Springer Gabler, Wiesbaden. https://doi.org/10.1007/978-3-658-21587-3_22
Download citation
DOI: https://doi.org/10.1007/978-3-658-21587-3_22
Published:
Publisher Name: Springer Gabler, Wiesbaden
Print ISBN: 978-3-658-21586-6
Online ISBN: 978-3-658-21587-3
eBook Packages: Business and Economics (German Language)