LoslegenKostenlos starten

Cross-Validation

Wie du gesehen hast, ist Cross-Validation eine clevere Methode, um Overfitting zu vermeiden. In dieser Übung berechnest du die mittels Cross-Validation ermittelte Accuracy.

Du kannst direkt loslegen: Die benötigten Daten defaultData und das Modell warten bereits auf dich. Die Accuracy-Funktion findest du in den ersten Zeilen des Codes. Das ist deine Kostenfunktion. Lass sie unverändert und verwende sie für deinen Aufruf von cv.glm() unten. Probier es aus!

Diese Übung ist Teil des Kurses

<Kurs>Machine Learning für Marketing-Analytics in R</Kurs>
Kurs ansehen

Übungsanweisungen

  • Verwende eine 6-fach-Cross-Validation und berechne die Accuracy für das Modell logitModelNew. Die benötigte Funktion ist cv.glm() aus dem Paket boot. Die per Cross-Validation ermittelte Accuracy steht an erster Stelle des Elements delta im Ergebnis.

  • Vergleiche deine Accuracy aus der Cross-Validation mit der aus der In-Sample-Validierung. Zur Erinnerung: Sie lag bei 0.7922901.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

library(boot)
# Accuracy function
costAcc <- function(r, pi = 0) {
  cm <- confusion.matrix(r, pi, threshold = 0.3)
  acc <- sum(diag(cm)) / sum(cm)
  return(acc)
}

# Cross validated accuracy for logitModelNew
set.seed(534381)
cv.glm(___, ___, cost = ___, K = ___)$delta[1]
Code bearbeiten und ausführen