LoslegenKostenlos loslegen

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

Machine Learning für Marketing-Analytics in R

Kurs anzeigen

Anleitung zur Übung

  • 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 Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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