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
Anleitung zur Übung
Verwende eine 6-fach-Cross-Validation und berechne die Accuracy für das Modell
logitModelNew. Die benötigte Funktion istcv.glm()aus dem Paketboot. Die per Cross-Validation ermittelte Accuracy steht an erster Stelle des Elementsdeltaim 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]