{"id":518,"date":"2023-07-29T15:29:02","date_gmt":"2023-07-29T15:29:02","guid":{"rendered":"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/"},"modified":"2023-07-29T15:29:02","modified_gmt":"2023-07-29T15:29:02","slug":"so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch","status":"publish","type":"post","link":"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/","title":{"rendered":"So f\u00fchren sie eine kreuzvalidierung der modellleistung in r durch"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">In der Statistik erstellen wir h\u00e4ufig Modelle aus zwei Gr\u00fcnden:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">Verstehen Sie die Beziehung zwischen einer oder mehreren Pr\u00e4diktorvariablen und<\/span> <span style=\"color: #000000;\">einer Antwortvariablen.<\/span><\/li>\n<li> <span style=\"color: #000000;\">Verwenden Sie ein Modell, um zuk\u00fcnftige Beobachtungen vorherzusagen.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\"><strong>Die Kreuzvalidierung<\/strong> ist n\u00fctzlich, um abzusch\u00e4tzen, wie gut ein Modell zuk\u00fcnftige Beobachtungen vorhersagen kann.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Beispielsweise k\u00f6nnen wir ein <a href=\"https:\/\/statorials.org\/de\/die-statistik-erklart-konzepte-auf-einfache-und-direkte-weise.-wir-erleichtern-das-erlernen-von-statistiken\/\" target=\"_blank\" rel=\"noopener noreferrer\">multiples lineares Regressionsmodell<\/a> erstellen,<\/span> <span style=\"color: #000000;\">das <em>Alter<\/em> und <em>Einkommen<\/em> als Pr\u00e4diktorvariablen und <em>den Standardstatus als<\/em> Antwortvariable verwendet.<\/span> <span style=\"color: #000000;\">In diesem Fall m\u00f6chten wir das Modell m\u00f6glicherweise an einen Datensatz anpassen und dieses Modell dann verwenden, um basierend auf dem<\/span> <span style=\"color: #000000;\">Einkommen und Alter eines neuen Antragstellers die Wahrscheinlichkeit vorherzusagen, dass er mit seinem Kredit in Verzug ger\u00e4t.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Um festzustellen, ob das Modell \u00fcber eine starke Vorhersagef\u00e4higkeit verf\u00fcgt, m\u00fcssen wir es verwenden, um Vorhersagen auf<\/span> <span style=\"color: #000000;\">Daten zu treffen, die es noch nie zuvor gesehen hat. Dadurch k\u00f6nnen wir den <strong>Vorhersagefehler<\/strong> des Modells absch\u00e4tzen.<\/span><\/p>\n<h2> <strong><span style=\"color: #000000;\">Verwendung der Kreuzvalidierung zur Sch\u00e4tzung des Vorhersagefehlers<\/span><\/strong><\/h2>\n<p> <span style=\"color: #000000;\"><strong>Kreuzvalidierung<\/strong> bezieht sich auf verschiedene M\u00f6glichkeiten, Vorhersagefehler abzusch\u00e4tzen.<\/span> <span style=\"color: #000000;\">Der allgemeine Ansatz zur<\/span> <span style=\"color: #000000;\">Kreuzvalidierung ist:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Reservieren Sie eine bestimmte Anzahl von Beobachtungen im Datensatz \u2013 typischerweise 15\u201325 % aller Beobachtungen.<\/span><br \/> <span style=\"color: #000000;\"><strong>2.<\/strong> Passen Sie das Modell an die Beobachtungen an, die wir im Datensatz speichern (oder \u201etrainieren\u201c).<\/span><br \/> <span style=\"color: #000000;\"><strong>3.<\/strong> Testen Sie, wie gut das Modell Vorhersagen \u00fcber Beobachtungen treffen kann, die wir nicht zum Trainieren des Modells verwendet haben.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>Messung der Qualit\u00e4t eines Modells<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">Wenn wir das angepasste Modell verwenden, um Vorhersagen \u00fcber neue Beobachtungen zu treffen, k\u00f6nnen wir verschiedene Metriken verwenden, um die Qualit\u00e4t des Modells zu messen, darunter:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Multiples R-Quadrat:<\/strong> Dies misst die St\u00e4rke der linearen Beziehung zwischen den Pr\u00e4diktorvariablen und der<\/span> <span style=\"color: #000000;\">Antwortvariablen. Ein R-Quadrat-Vielfaches von 1 weist auf eine perfekte lineare Beziehung hin, w\u00e4hrend ein<\/span> <span style=\"color: #000000;\">R-Quadrat-Vielfaches von 0 auf keine lineare Beziehung hinweist. Je h\u00f6her das R-Quadrat-Vielfache ist, desto wahrscheinlicher ist es, dass die Pr\u00e4diktorvariablen die Antwortvariable vorhersagen.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Root Mean Square Error (RMSE):<\/strong> Misst den durchschnittlichen Vorhersagefehler, den das Modell bei der Vorhersage des Werts<\/span> <span style=\"color: #000000;\">einer neuen Beobachtung macht. Dies ist der durchschnittliche Abstand zwischen dem wahren Wert einer Beobachtung und dem vom Modell vorhergesagten Wert.<\/span> <span style=\"color: #000000;\">Niedrigere<\/span> Werte <span style=\"color: #000000;\">f\u00fcr RMSE weisen auf eine bessere Modellanpassung hin.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Mittlerer absoluter Fehler (MAE):<\/strong> Dies ist die durchschnittliche absolute Differenz zwischen dem wahren Wert einer Beobachtung und dem vom Modell vorhergesagten Wert.<\/span> <span style=\"color: #000000;\">Diese Metrik reagiert im Allgemeinen weniger empfindlich auf Ausrei\u00dfer als RMSE. Niedrigere Werte f\u00fcr MAE weisen auf eine bessere Modellanpassung hin.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>Implementierung von vier verschiedenen Kreuzvalidierungstechniken in R<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">Anschlie\u00dfend erkl\u00e4ren wir, wie die folgenden Kreuzvalidierungstechniken in R implementiert werden:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Validierungssatz-Ansatz<\/span><br \/> <span style=\"color: #000000;\"><strong>2.<\/strong> k-fache Kreuzvalidierung<\/span><br \/> <span style=\"color: #000000;\"><strong>3.<\/strong> Lassen Sie die Kreuzvalidierung beiseite<\/span><br \/> <span style=\"color: #000000;\"><strong>4.<\/strong> Wiederholte k-fache Kreuzvalidierung<\/span><\/p>\n<p> <span style=\"color: #000000;\">Um zu veranschaulichen, wie diese verschiedenen Techniken verwendet werden, verwenden wir eine Teilmenge des in <em>mtcars<\/em> integrierten R-Datensatzes:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#define dataset\n<\/span>data &lt;- mtcars[, c(\"mpg\", \"disp\", \"hp\", \"drat\")]\n\n<span style=\"color: #008080;\">#view first six rows of new data\n<\/span>head(data)\n\n# mpg disp hp drat\n#Mazda RX4 21.0 160 110 3.90\n#Mazda RX4 Wag 21.0 160 110 3.90\n#Datsun 710 22.8 108 93 3.85\n#Hornet 4 Drive 21.4 258 110 3.08\n#Hornet Sportabout 18.7 360 175 3.15\n#Valiant 18.1 225 105 2.76\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Wir werden ein multiples lineares Regressionsmodell erstellen, das <em>disp<\/em> , <em>hp<\/em> und <em>drat<\/em> als Pr\u00e4diktorvariablen und <em>mpg<\/em><\/span> <span style=\"color: #000000;\">als Antwortvariable verwendet.<\/span><\/p>\n<h2> <strong><span style=\"color: #000000;\">Validierungssatz-Ansatz<\/span><\/strong><\/h2>\n<p> <span style=\"color: #000000;\">Der <strong>Validierungssatz-Ansatz<\/strong> funktioniert wie folgt:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Teilen Sie die Daten in zwei S\u00e4tze auf: Ein Satz wird zum Trainieren des Modells (dh Sch\u00e4tzen der Modellparameter)<\/span> <span style=\"color: #000000;\">und der andere Satz zum Testen des Modells verwendet. Im Allgemeinen wird der Trainingssatz durch zuf\u00e4llige Auswahl<\/span> <span style=\"color: #000000;\">von 70\u201380 % der Daten generiert und die restlichen 20\u201330 % der Daten werden als Testsatz verwendet.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>2.<\/strong> Erstellen Sie das Modell mithilfe des Trainingsdatensatzes.<\/span><br \/> <span style=\"color: #000000;\"><strong>3.<\/strong> Verwenden Sie das Modell, um Vorhersagen \u00fcber die Testsatzdaten zu treffen.<\/span><br \/> <span style=\"color: #000000;\"><strong>4.<\/strong> Messen Sie die Modellqualit\u00e4t mithilfe von Metriken wie R-Quadrat, RMSE und MAE.<\/span><\/p>\n<h3> <strong><span style=\"color: #000000;\">Beispiel:<\/span><\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Das folgende Beispiel verwendet den oben definierten Datensatz. Zuerst teilen wir die Daten auf<\/span><br \/> <span style=\"color: #000000;\">Ein Trainingssatz und ein Testsatz, wobei 80 % der Daten als Trainingssatz und die restlichen 20 % der Daten<\/span> <span style=\"color: #000000;\">als Testsatz verwendet werden. Als n\u00e4chstes erstellen wir das Modell mithilfe des<\/span> <span style=\"color: #000000;\">Trainingssatzes. Dann verwenden wir das Modell, um Vorhersagen \u00fcber den Testsatz zu treffen. Schlie\u00dflich messen wir die Qualit\u00e4t des<\/span> <span style=\"color: #000000;\">Modells mithilfe von R-Quadrat, RMSE und MAE.<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load <em>dplyr<\/em> library used for data manipulation\n<\/span>library(dplyr)\n\n<span style=\"color: #008080;\">#load <em>caret<\/em> library used for partitioning data into training and test set\n<\/span>library(caret)\n\n<span style=\"color: #008080;\">#make this example reproducible\n<\/span>set.seed(0)\n\n<span style=\"color: #008080;\">#define the dataset\n<\/span>data &lt;- mtcars[, c(\"mpg\", \"disp\", \"hp\", \"drat\")]\n\n<span style=\"color: #008080;\">#split the dataset into a training set (80%) and test set (20%).\n<\/span>training_obs &lt;- data$mpg %&gt;% createDataPartition(p = 0.8, list = FALSE)\n\ntrain &lt;- data[training_obs, ]\ntest &lt;- data[-training_obs, ]\n\n<span style=\"color: #008080;\"># Build the linear regression model on the training set\n<\/span>model &lt;- lm(mpg ~ ., data = train)\n\n<span style=\"color: #008080;\"># Use the model to make predictions on the test set\n<\/span>predictions &lt;- model %&gt;% predict(test)\n\n<span style=\"color: #008080;\">#Examine R-squared, RMSE, and MAE of predictions\n<\/span>data.frame(R_squared = R2(predictions, test$mpg),\n           RMSE = RMSE(predictions, test$mpg),\n           MAE = MAE(predictions, test$mpg))\n\n#R_squared RMSE MAE\n#1 0.9213066 1.876038 1.66614\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Beim Vergleich verschiedener Modelle wird das Modell bevorzugt, das im Testsatz den niedrigsten RMSE erzeugt.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Vor- und Nachteile dieses Ansatzes<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Der Vorteil des Validierungssatzansatzes besteht darin, dass er einfach und recheneffizient ist. Der Nachteil<\/span> <span style=\"color: #000000;\">besteht darin, dass das Modell nur aus einem Teil der Gesamtdaten erstellt wird. Wenn die Daten, die wir<\/span> <span style=\"color: #000000;\">aus dem Trainingssatz weglassen, interessante oder wertvolle Informationen enthalten, werden diese vom Modell nicht ber\u00fccksichtigt.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>k-facher Kreuzvalidierungsansatz<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">Der <strong>Ansatz der k-fachen Kreuzvalidierung<\/strong> funktioniert wie folgt:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Teilen Sie die Daten nach dem Zufallsprinzip in k \u201eFaltungen\u201c oder Teilmengen auf (z. B. 5 oder 10 Teilmengen).<\/span><br \/> <span style=\"color: #000000;\"><strong>2.<\/strong> Trainieren Sie das Modell anhand aller Daten und lassen Sie dabei nur eine Teilmenge aus.<\/span><br \/> <span style=\"color: #000000;\"><strong>3.<\/strong> Verwenden Sie das Modell, um Vorhersagen \u00fcber die Daten der ausgelassenen Teilmenge zu treffen.<\/span><br \/> <span style=\"color: #000000;\"><strong>4.<\/strong> Wiederholen Sie diesen Vorgang, bis jede der k Teilmengen als Testsatz verwendet wurde.<\/span><br \/> <span style=\"color: #000000;\"><strong>5<\/strong> . Messen Sie die Qualit\u00e4t des Modells, indem Sie die k Testfehler mitteln. Das ist bekannt<\/span><br \/> <span style=\"color: #000000;\">als Kreuzvalidierungsfehler.<\/span><\/p>\n<h3> <strong><span style=\"color: #000000;\">Beispiel<\/span><\/strong><\/h3>\n<p> <span style=\"color: #000000;\">In diesem Beispiel teilen wir die Daten zun\u00e4chst in<\/span> <span style=\"color: #000000;\">5 Teilmengen auf. Dann passen wir das Modell mithilfe aller Daten bis auf eine Teilmenge an. Dann verwenden wir das Modell, um<\/span> <span style=\"color: #000000;\">Vorhersagen \u00fcber die ausgelassene Teilmenge zu treffen und den Testfehler aufzuzeichnen (unter Verwendung von R-Quadrat, RMSE und MAE). Wir<\/span> <span style=\"color: #000000;\">wiederholen diesen Vorgang, bis jede Teilmenge als Testsatz verwendet wurde. Dann berechnen wir einfach den Durchschnitt der 5<\/span> <span style=\"color: #000000;\">Testfehler.<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load <em>dplyr<\/em> library used for data manipulation\n<\/span>library(dplyr)\n\n<span style=\"color: #008080;\">#load <em>caret<\/em> library used for partitioning data into training and test set\n<\/span>library(caret)\n\n<span style=\"color: #008080;\">#make this example reproducible\n<\/span>set.seed(0)\n\n<span style=\"color: #008080;\">#define the dataset\n<\/span>data &lt;- mtcars[, c(\"mpg\", \"disp\", \"hp\", \"drat\")]\n\n<span style=\"color: #008080;\">#define the number of subsets (or \"folds\") to use\n<\/span>train_control &lt;- trainControl(method = \"cv\", number = 5)\n\n<span style=\"color: #008080;\">#train the model\n<\/span>model &lt;- train(mpg ~ ., data = data, method = \"lm\", trControl = train_control)\n\n<span style=\"color: #008080;\">#Summarize the results\n<\/span>print(model)\n\n#Linear Regression \n#\n#32 samples\n#3 predictor\n#\n#No pre-processing\n#Resampling: Cross-Validated (5 fold) \n#Summary of sample sizes: 26, 25, 26, 25, 26 \n#Resampling results:\n#\n# RMSE Rsquared MAE     \n#3.095501 0.7661981 2.467427\n#\n#Tuning parameter 'intercept' was held constant at a value of TRUE\n<\/strong><\/pre>\n<h3> <strong><span style=\"color: #000000;\">Vor- und Nachteile dieses Ansatzes<\/span><\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Der Vorteil des k-fachen Kreuzvalidierungsansatzes gegen\u00fcber dem Validierungssatzansatz besteht darin, dass er das Modell mehrmals<\/span> <span style=\"color: #000000;\">unter Verwendung unterschiedlicher Datenteile erstellt, sodass wir beim Erstellen<\/span> <span style=\"color: #000000;\">des Modells nicht das Risiko eingehen m\u00fcssen, wichtige Daten auszulassen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Der subjektive Teil dieses Ansatzes besteht darin, den f\u00fcr k zu verwendenden Wert auszuw\u00e4hlen, d. h. die Anzahl der Teilmengen,<\/span> <span style=\"color: #000000;\">in die die Daten unterteilt werden sollen. Im Allgemeinen f\u00fchren niedrigere k-Werte zu einer h\u00f6heren Verzerrung, aber geringeren Variabilit\u00e4t, w\u00e4hrend h\u00f6here k-Werte<\/span> <span style=\"color: #000000;\">zu einer geringeren Verzerrung, aber einer h\u00f6heren Variabilit\u00e4t f\u00fchren.<\/span><\/p>\n<p> <span style=\"color: #000000;\">In der Praxis wird k im Allgemeinen gleich 5 oder 10 gew\u00e4hlt, da diese Anzahl von<\/span> <span style=\"color: #000000;\">Teilmengen tendenziell gleichzeitig eine zu gro\u00dfe Verzerrung und eine zu gro\u00dfe Variabilit\u00e4t vermeidet.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>Leave One Out Cross-Validation (LOOCV)-Ansatz<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">Der <strong>LOOCV-Ansatz<\/strong> funktioniert wie folgt:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Erstellen Sie das Modell unter Verwendung aller Beobachtungen bis auf eine im Datensatz.<\/span><br \/> <span style=\"color: #000000;\"><strong>2.<\/strong> Verwenden Sie das Modell, um den Wert der fehlenden Beobachtung vorherzusagen. Notieren Sie den Fehler beim Testen dieser Vorhersage.<\/span><br \/> <span style=\"color: #000000;\"><strong>3.<\/strong> Wiederholen Sie diesen Vorgang f\u00fcr jede Beobachtung im Datensatz.<\/span><br \/> <span style=\"color: #000000;\"><strong>4.<\/strong> Messen Sie die Qualit\u00e4t des Modells, indem Sie alle Vorhersagefehler mitteln.<\/span><\/p>\n<h3> <strong><span style=\"color: #000000;\">Beispiel<\/span><\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Das folgende Beispiel zeigt, wie perform LOOCV f\u00fcr denselben Datensatz verwendet wird, der in den vorherigen Beispielen verwendet wurde:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load <em>dplyr<\/em> library used for data manipulation\n<\/span>library(dplyr)\n\n<span style=\"color: #008080;\">#load <em>caret<\/em> library used for partitioning data into training and test set\n<\/span>library(caret)\n\n<span style=\"color: #008080;\">#make this example reproducible\n<\/span>set.seed(0)\n\n<span style=\"color: #008080;\">#define the dataset\n<\/span>data &lt;- mtcars[, c(\"mpg\", \"disp\", \"hp\", \"drat\")]\n\n<span style=\"color: #008080;\">#specify that we want to use LOOCV\n<\/span>train_control &lt;- trainControl( <span style=\"color: #800080;\">method = \"LOOCV\"<\/span> )\n\n<span style=\"color: #008080;\">#train the model\n<\/span>model &lt;- train(mpg ~ ., data = data, method = \"lm\", trControl = train_control)\n\n<span style=\"color: #008080;\">#summarize the results\n<\/span>print(model)\n\n#Linear Regression \n#\n#32 samples\n#3 predictor\n#\n#No pre-processing\n#Resampling: Leave-One-Out Cross-Validation \n#Summary of sample sizes: 31, 31, 31, 31, 31, 31, ... \n#Resampling results:\n#\n# RMSE Rsquared MAE     \n#3.168763 0.7170704 2.503544\n#\n#Tuning parameter 'intercept' was held constant at a value of TRUE\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Vor- und Nachteile dieses Ansatzes<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Der Vorteil von LOOCV besteht darin, dass wir alle Datenpunkte verwenden, was im Allgemeinen potenzielle Verzerrungen reduziert. Da<\/span> <span style=\"color: #000000;\">wir das Modell jedoch verwenden, um den Wert jeder Beobachtung vorherzusagen, k\u00f6nnte dies zu einer gr\u00f6\u00dferen Variabilit\u00e4t des<\/span> <span style=\"color: #000000;\">Vorhersagefehlers f\u00fchren.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Ein weiterer Nachteil dieses Ansatzes besteht darin, dass er f\u00fcr eine so gro\u00dfe Anzahl von Modellen geeignet sein muss, dass er ineffizient und rechenintensiv werden kann.<\/span><\/p>\n<h2> <strong><span style=\"color: #000000;\">Wiederholter k-facher Kreuzvalidierungsansatz<\/span><\/strong><\/h2>\n<p> <span style=\"color: #000000;\">Wir k\u00f6nnen <strong>eine wiederholte k-fache Kreuzvalidierung<\/strong> durchf\u00fchren, indem wir einfach mehrmals eine k-fache Kreuzvalidierung durchf\u00fchren. Der endg\u00fcltige Fehler ist der durchschnittliche Fehler der<\/span> <span style=\"color: #000000;\">Anzahl der Wiederholungen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Das folgende Beispiel f\u00fchrt eine f\u00fcnffache Kreuzvalidierung durch, die viermal wiederholt wird:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load <em>dplyr<\/em> library used for data manipulation\n<\/span>library(dplyr)\n\n<span style=\"color: #008080;\">#load <em>caret<\/em> library used for partitioning data into training and test set\n<\/span>library(caret)\n\n<span style=\"color: #008080;\">#make this example reproducible\n<\/span>set.seed(0)\n\n<span style=\"color: #008080;\">#define the dataset\n<\/span>data &lt;- mtcars[, c(\"mpg\", \"disp\", \"hp\", \"drat\")]\n\n<span style=\"color: #008080;\">#define the number of subsets to use and number of times to repeat k-fold CV\n<\/span>train_control &lt;- trainControl(method = \"repeatedcv\", number = 5, <span style=\"color: #800080;\">repeats = 4<\/span> )\n\n<span style=\"color: #008080;\">#train the model\n<\/span>model &lt;- train(mpg ~ ., data = data, method = \"lm\", trControl = train_control)\n\n<span style=\"color: #008080;\">#summarize the results\n<\/span>print(model)\n\n#Linear Regression \n#\n#32 samples\n#3 predictor\n#\n#No pre-processing\n#Resampling: Cross-Validated (5 fold, repeated 4 times) \n#Summary of sample sizes: 26, 25, 26, 25, 26, 25, ... \n#Resampling results:\n#\n# RMSE Rsquared MAE     \n#3.176339 0.7909337 2.559131\n#\n#Tuning parameter 'intercept' was held constant at a value of TRUE\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Vor- und Nachteile dieses Ansatzes<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Der Vorteil des Ansatzes der wiederholten k-fachen Kreuzvalidierung besteht darin, dass die Daten bei jeder Wiederholung in leicht unterschiedliche Teilmengen aufgeteilt werden, was zu einer noch unvoreingenommeneren Sch\u00e4tzung des Vorhersagefehlers des Modells f\u00fchren sollte. Der Nachteil dieses Ansatzes besteht darin, dass er rechenintensiv sein kann, da wir den Modellanpassungsprozess mehrmals wiederholen m\u00fcssen.<\/span><\/p>\n<h2> <strong><span style=\"color: #000000;\">So w\u00e4hlen Sie die Anzahl der Falten bei der Kreuzvalidierung aus<\/span><\/strong><\/h2>\n<p> <span style=\"color: #000000;\">Der subjektivste Teil der Kreuzvalidierung ist die Entscheidung, wie viele Falten (dh Teilmengen) verwendet werden sollen. Im Allgemeinen gilt: Je kleiner die Anzahl der Faltungen, desto verzerrter sind die Fehlersch\u00e4tzungen, aber desto weniger variabel sind sie. Umgekehrt gilt: Je h\u00f6her die Anzahl der Faltungen, desto weniger verzerrt sind die Fehlersch\u00e4tzungen, aber desto variabler sind sie.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Es ist auch wichtig, die Berechnungszeit im Auge zu behalten. F\u00fcr jede Falte m\u00fcssen Sie ein neues Muster trainieren. Dies ist zwar ein langsamer Prozess, kann jedoch lange dauern, wenn Sie eine hohe Anzahl von Faltungen w\u00e4hlen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">In der Praxis wird die Kreuzvalidierung normalerweise mit 5 oder 10 Falten durchgef\u00fchrt, da dies ein gutes Gleichgewicht zwischen Variabilit\u00e4t und Verzerrung bietet und gleichzeitig recheneffizient ist.<\/span><\/p>\n<h2> <strong>So w\u00e4hlen Sie ein Modell aus, nachdem Sie eine Kreuzvalidierung durchgef\u00fchrt haben<\/strong><\/h2>\n<p> <span style=\"color: #000000;\">Kreuzvalidierung wird verwendet, um den Vorhersagefehler eines Modells zu bewerten. Dies kann uns bei der Auswahl zwischen zwei oder mehr verschiedenen Modellen helfen, indem hervorgehoben wird, welches Modell den geringsten Vorhersagefehler aufweist (basierend auf RMSE, R-Quadrat usw.).<\/span><\/p>\n<p> <span style=\"color: #000000;\">Nachdem wir mithilfe der Kreuzvalidierung das beste Modell ausgew\u00e4hlt haben, verwenden wir anschlie\u00dfend <em>alle<\/em> verf\u00fcgbaren Daten, um es an das ausgew\u00e4hlte Modell anzupassen. F\u00fcr unser endg\u00fcltiges Modell verwenden wir nicht die tats\u00e4chlichen Modellinstanzen, die wir w\u00e4hrend der Kreuzvalidierung trainiert haben.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Beispielsweise k\u00f6nnen wir eine 5-fache Kreuzvalidierung verwenden, um zu bestimmen, welches Modell zwischen zwei verschiedenen Regressionsmodellen besser zu verwenden ist. Sobald wir jedoch festgestellt haben, welches Modell am besten geeignet ist, verwenden wir <em>alle<\/em> Daten, um das endg\u00fcltige Modell anzupassen. Mit anderen Worten: Wir vergessen beim Bau des endg\u00fcltigen Modells keine Falte.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In der Statistik erstellen wir h\u00e4ufig Modelle aus zwei Gr\u00fcnden: Verstehen Sie die Beziehung zwischen einer oder mehreren Pr\u00e4diktorvariablen und einer Antwortvariablen. Verwenden Sie ein Modell, um zuk\u00fcnftige Beobachtungen vorherzusagen. Die Kreuzvalidierung ist n\u00fctzlich, um abzusch\u00e4tzen, wie gut ein Modell zuk\u00fcnftige Beobachtungen vorhersagen kann. Beispielsweise k\u00f6nnen wir ein multiples lineares Regressionsmodell erstellen, das Alter und [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>So f\u00fchren Sie eine Kreuzvalidierung der Modellleistung in R \u2013 Statorials durch<\/title>\n<meta name=\"description\" content=\"In diesem Tutorial werden vier verschiedene M\u00f6glichkeiten zur Durchf\u00fchrung einer Kreuzvalidierung in R erl\u00e4utert, um die Modellleistung zu bewerten.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"So f\u00fchren Sie eine Kreuzvalidierung der Modellleistung in R \u2013 Statorials durch\" \/>\n<meta property=\"og:description\" content=\"In diesem Tutorial werden vier verschiedene M\u00f6glichkeiten zur Durchf\u00fchrung einer Kreuzvalidierung in R erl\u00e4utert, um die Modellleistung zu bewerten.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-29T15:29:02+00:00\" \/>\n<meta name=\"author\" content=\"Dr. Benjamin Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dr. Benjamin Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/\",\"url\":\"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/\",\"name\":\"So f\u00fchren Sie eine Kreuzvalidierung der Modellleistung in R \u2013 Statorials durch\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/de\/#website\"},\"datePublished\":\"2023-07-29T15:29:02+00:00\",\"dateModified\":\"2023-07-29T15:29:02+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0\"},\"description\":\"In diesem Tutorial werden vier verschiedene M\u00f6glichkeiten zur Durchf\u00fchrung einer Kreuzvalidierung in R erl\u00e4utert, um die Modellleistung zu bewerten.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Heim\",\"item\":\"https:\/\/statorials.org\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"So f\u00fchren sie eine kreuzvalidierung der modellleistung in r durch\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/de\/#website\",\"url\":\"https:\/\/statorials.org\/de\/\",\"name\":\"Statorials\",\"description\":\"Ihr Leitfaden f\u00fcr statistische Kompetenz !\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/de\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de-DE\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0\",\"name\":\"Dr. Benjamin Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/statorials.org\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg\",\"caption\":\"Dr. Benjamin Anderson\"},\"description\":\"Hallo, ich bin Benjamin, ein pensionierter Statistikprofessor, der sich zum engagierten Statorials-Lehrer entwickelt hat. Mit umfassender Erfahrung und Fachwissen auf dem Gebiet der Statistik bin ich bestrebt, mein Wissen zu teilen, um Studenten durch Statorials zu bef\u00e4higen. Mehr wissen\",\"sameAs\":[\"https:\/\/statorials.org\/de\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"So f\u00fchren Sie eine Kreuzvalidierung der Modellleistung in R \u2013 Statorials durch","description":"In diesem Tutorial werden vier verschiedene M\u00f6glichkeiten zur Durchf\u00fchrung einer Kreuzvalidierung in R erl\u00e4utert, um die Modellleistung zu bewerten.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/","og_locale":"de_DE","og_type":"article","og_title":"So f\u00fchren Sie eine Kreuzvalidierung der Modellleistung in R \u2013 Statorials durch","og_description":"In diesem Tutorial werden vier verschiedene M\u00f6glichkeiten zur Durchf\u00fchrung einer Kreuzvalidierung in R erl\u00e4utert, um die Modellleistung zu bewerten.","og_url":"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/","og_site_name":"Statorials","article_published_time":"2023-07-29T15:29:02+00:00","author":"Dr. Benjamin Anderson","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Dr. Benjamin Anderson","Gesch\u00e4tzte Lesezeit":"10 Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/","url":"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/","name":"So f\u00fchren Sie eine Kreuzvalidierung der Modellleistung in R \u2013 Statorials durch","isPartOf":{"@id":"https:\/\/statorials.org\/de\/#website"},"datePublished":"2023-07-29T15:29:02+00:00","dateModified":"2023-07-29T15:29:02+00:00","author":{"@id":"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0"},"description":"In diesem Tutorial werden vier verschiedene M\u00f6glichkeiten zur Durchf\u00fchrung einer Kreuzvalidierung in R erl\u00e4utert, um die Modellleistung zu bewerten.","breadcrumb":{"@id":"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/de\/so-fuhren-sie-eine-kreuzvalidierung-fur-die-modellleistung-in-r-durch\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Heim","item":"https:\/\/statorials.org\/de\/"},{"@type":"ListItem","position":2,"name":"So f\u00fchren sie eine kreuzvalidierung der modellleistung in r durch"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/de\/#website","url":"https:\/\/statorials.org\/de\/","name":"Statorials","description":"Ihr Leitfaden f\u00fcr statistische Kompetenz !","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/de\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de-DE"},{"@type":"Person","@id":"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0","name":"Dr. Benjamin Anderson","image":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/statorials.org\/de\/#\/schema\/person\/image\/","url":"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg","contentUrl":"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg","caption":"Dr. Benjamin Anderson"},"description":"Hallo, ich bin Benjamin, ein pensionierter Statistikprofessor, der sich zum engagierten Statorials-Lehrer entwickelt hat. Mit umfassender Erfahrung und Fachwissen auf dem Gebiet der Statistik bin ich bestrebt, mein Wissen zu teilen, um Studenten durch Statorials zu bef\u00e4higen. Mehr wissen","sameAs":["https:\/\/statorials.org\/de"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/posts\/518"}],"collection":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/comments?post=518"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/posts\/518\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/media?parent=518"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/categories?post=518"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/tags?post=518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}