Skip to main content

Fallstudie: Kreditwürdigkeit mit caret

  • Chapter
  • First Online:
Moderne Datenanalyse mit R

Part of the book series: FOM-Edition ((FOMEDITION))

  • 40k Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 2.

    https://cran.r-project.org/web/views/HighPerformanceComputing.html.

  3. 3.

    anyNA() bietet dazu einen Weg.

  4. 4.

    skimr(meine_tabelle).

  5. 5.

    count(GermanCredit, Class).

  6. 6.

    http://appliedpredictivemodeling.com/blog/2014/11/27/vpuig01pqbklmi72b8lcl3ij5hj2qm.

  7. 7.

    https://topepo.github.io/caret/available-models.html.

  8. 8.

    https://topepo.github.io/caret/index.html.

  9. 9.

    train %>% select(-name_der_variable) -> train.

  10. 10.

    attr(train, ″​high corr checked″​) <- TRUE.

  11. 11.

    Ja.

  12. 12.

    expand.grid(sex = c(″​w″​, ″​m″​, ″​x″​), age = c(″​jj″​, ″​j″​, ″​m″​, ″​a″​, ″​aa″​)).

  13. 13.

    \(3\cdot 5=15\).

  14. 14.

    Es ist eine Liste.

  15. 15.

    Ja.

  16. 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. 17.

    cm_svm2 <- confusionMatrix(data = svm_pred2, reference = test$Class).

  18. 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. 19.

    modelLookup(″​model_name″​).

  20. 20.

    Z. B. kann man in dieser Tabelle suchen: https://topepo.github.io/caret/available-models.html.

  21. 21.

    \(4\cdot 5=20\).

  22. 22.

    Ja.

  23. 23.

    str(svm_fit1$results).

  24. 24.

    Die besten Likelihood-Werte werden bestimmt durch bestimmte mathematische Verfahren wie Ableiten und Nullsetzen der Ableitung oder durch Ausprobieren.

  25. 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. 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. 27.

    glm1 <- glm(Class ~ Amount + Age + Duration, family = ″​binomial″​, data = train).

  28. 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. 29.

    Mit debug(compare_accuracies) kann man eine Funktion debuggen, d. h. auf Fehler prüfen.

  30. 30.

    test %>% summarise_all(is_binary) %>% gather %>% filter(value == TRUE) -> test_binaries.

  31. 31.

    test %>% select(one_of(test_binaries$key)).

  32. 32.

    https://topepo.github.io/caret/variable-importance.html.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sebastian Sauer .

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics