{"id":520,"date":"2023-07-29T15:29:02","date_gmt":"2023-07-29T15:29:02","guid":{"rendered":"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/"},"modified":"2023-07-29T15:29:02","modified_gmt":"2023-07-29T15:29:02","slug":"hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r","status":"publish","type":"post","link":"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/","title":{"rendered":"Hoe u kunt kruisvalideren voor modelprestaties in r"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">In de statistiek bouwen we vaak modellen om twee redenen:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">Begrijp de relatie tussen een of meer voorspellende variabelen en<\/span> <span style=\"color: #000000;\">een responsvariabele.<\/span><\/li>\n<li> <span style=\"color: #000000;\">Gebruik een model om toekomstige waarnemingen te voorspellen.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\"><strong>Kruisvalidatie<\/strong> is nuttig om te schatten hoe goed een model toekomstige waarnemingen kan voorspellen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">We kunnen bijvoorbeeld een meervoudig lineair regressiemodel bouwen<\/span> <span style=\"color: #000000;\">dat <em>leeftijd<\/em> en <em>inkomen<\/em> als voorspellende variabelen en <em>de standaardstatus als<\/em> responsvariabele gebruikt.<\/span> <span style=\"color: #000000;\">In dit geval willen we het model misschien aan een dataset aanpassen en dat model vervolgens gebruiken om, op basis van het<\/span> <span style=\"color: #000000;\">inkomen en de leeftijd van een nieuwe aanvrager, de waarschijnlijkheid te voorspellen dat hij of zij zijn lening niet zal kunnen afbetalen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Om te bepalen of het model een sterk voorspellend vermogen heeft, moeten we het gebruiken om voorspellingen te doen op basis van<\/span> <span style=\"color: #000000;\">gegevens die het nog nooit eerder heeft gezien. Hierdoor kunnen we de <strong>voorspellingsfout<\/strong> van het model schatten.<\/span><\/p>\n<h2> <strong><span style=\"color: #000000;\">Kruisvalidatie gebruiken om de voorspellingsfout te schatten<\/span><\/strong><\/h2>\n<p> <span style=\"color: #000000;\"><strong>Kruisvalidatie<\/strong> verwijst naar verschillende manieren waarop we de voorspellingsfout kunnen schatten.<\/span> <span style=\"color: #000000;\">De algemene benadering van<\/span> <span style=\"color: #000000;\">kruisvalidatie is:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Zet een bepaald aantal waarnemingen opzij in de dataset \u2013 doorgaans 15-25% van alle waarnemingen.<\/span><br \/> <span style=\"color: #000000;\"><strong>2.<\/strong> Pas het model aan (of \u2018train\u2019) op basis van de waarnemingen die we in de dataset bewaren.<\/span><br \/> <span style=\"color: #000000;\"><strong>3.<\/strong> Test hoe goed het model voorspellingen kan doen over waarnemingen die we niet hebben gebruikt om het model te trainen.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>Het meten van de kwaliteit van een model<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">Wanneer we het aangepaste model gebruiken om voorspellingen te doen over nieuwe waarnemingen, kunnen we verschillende metrieken gebruiken om de kwaliteit van het model te meten, waaronder:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Meerdere R-kwadraat:<\/strong> Dit meet de sterkte van de lineaire relatie tussen de voorspellende variabelen en de<\/span> <span style=\"color: #000000;\">responsvariabele. Een R-kwadraat veelvoud van 1 geeft een perfect lineair verband aan, terwijl een<\/span> <span style=\"color: #000000;\">R-kwadraat veelvoud van 0 geen lineair verband aangeeft. Hoe hoger het R-kwadraat veelvoud, hoe waarschijnlijker het is dat de voorspellende variabelen de responsvariabele voorspellen.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Root Mean Square Error (RMSE):<\/strong> meet de gemiddelde voorspellingsfout die door het model wordt gemaakt bij het voorspellen van de waarde<\/span> <span style=\"color: #000000;\">van een nieuwe waarneming. Dit is de gemiddelde afstand tussen de werkelijke waarde van een waarneming en de door het model voorspelde waarde.<\/span> <span style=\"color: #000000;\">Lagere<\/span> waarden <span style=\"color: #000000;\">voor RMSE duiden op een betere modelfit.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Mean Absolute Error (MAE):<\/strong> Dit is het gemiddelde absolute verschil tussen de werkelijke waarde van een waarneming en de door het model voorspelde waarde.<\/span> <span style=\"color: #000000;\">Deze statistiek is over het algemeen minder gevoelig voor uitschieters dan RMSE. Lagere waarden voor MAE duiden op een betere modelfit.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>Implementatie van vier verschillende kruisvalidatietechnieken in R<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">Vervolgens leggen we uit hoe u de volgende kruisvalidatietechnieken in R kunt implementeren:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Validatieset-aanpak<\/span><br \/> <span style=\"color: #000000;\"><strong>2.<\/strong> k-voudige kruisvalidatie<\/span><br \/> <span style=\"color: #000000;\"><strong>3.<\/strong> Laat kruisvalidatie buiten beschouwing<\/span><br \/> <span style=\"color: #000000;\"><strong>4.<\/strong> Herhaalde k-voudige kruisvalidatie<\/span><\/p>\n<p> <span style=\"color: #000000;\">Om te illustreren hoe deze verschillende technieken kunnen worden gebruikt, zullen we een subset van de ingebouwde R-dataset van <em>mtcars<\/em> gebruiken:<\/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;\">We zullen een meervoudig lineair regressiemodel bouwen met <em>disp<\/em> , <em>hp<\/em> en <em>drat<\/em> als voorspellende variabelen en <em>mpg<\/em><\/span> <span style=\"color: #000000;\">als responsvariabele.<\/span><\/p>\n<h2> <strong><span style=\"color: #000000;\">Validatieset-aanpak<\/span><\/strong><\/h2>\n<p> <span style=\"color: #000000;\">De <strong>validatiesetbenadering<\/strong> werkt als volgt:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Verdeel de gegevens in twee sets: de ene set wordt gebruikt om het model te trainen (dwz de modelparameters te schatten)<\/span> <span style=\"color: #000000;\">en de andere set wordt gebruikt om het model te testen. Over het algemeen wordt de trainingsset gegenereerd door willekeurig<\/span> <span style=\"color: #000000;\">70-80% van de gegevens te selecteren, en de resterende 20-30% van de gegevens wordt gebruikt als testset.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>2.<\/strong> Maak het model met behulp van de trainingsgegevensset.<\/span><br \/> <span style=\"color: #000000;\"><strong>3.<\/strong> Gebruik het model om voorspellingen te doen over de testsetgegevens.<\/span><br \/> <span style=\"color: #000000;\"><strong>4.<\/strong> Meet de modelkwaliteit met behulp van statistieken zoals R-kwadraat, RMSE en MAE.<\/span><\/p>\n<h3> <strong><span style=\"color: #000000;\">Voorbeeld:<\/span><\/strong><\/h3>\n<p> <span style=\"color: #000000;\">In het volgende voorbeeld wordt de gegevensset gebruikt die we hierboven hebben gedefinieerd. Eerst verdelen we de gegevens in<\/span><br \/> <span style=\"color: #000000;\">een trainingsset en een testset, waarbij 80% van de gegevens als trainingsset wordt gebruikt en de overige 20% van de gegevens<\/span> <span style=\"color: #000000;\">als testset. Vervolgens bouwen we het model met behulp van de<\/span> <span style=\"color: #000000;\">trainingsset. Vervolgens gebruiken we het model om voorspellingen te doen over de testset. Ten slotte meten we de kwaliteit van het<\/span> <span style=\"color: #000000;\">model met behulp van R-kwadraat, RMSE en 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;\">Bij het vergelijken van verschillende modellen heeft het model met de laagste RMSE op de testset de voorkeur.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Voor- en nadelen van deze aanpak<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Het voordeel van de validatiesetbenadering is dat deze eenvoudig en computationeel effici\u00ebnt is. Het nadeel<\/span> <span style=\"color: #000000;\">is dat het model wordt gebouwd met slechts een deel van de totale gegevens. Als de data die we<\/span> <span style=\"color: #000000;\">buiten de trainingsset laten, interessante of waardevolle informatie bevat, zal het model daar geen rekening mee houden.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>k-voudige kruisvalidatiebenadering<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">De <strong>k-voudige kruisvalidatiebenadering<\/strong> werkt als volgt:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Verdeel de gegevens willekeurig in k \u201cvouwen\u201d of subsets (bijvoorbeeld 5 of 10 subsets).<\/span><br \/> <span style=\"color: #000000;\"><strong>2.<\/strong> Train het model op alle gegevens en laat slechts \u00e9\u00e9n subset weg.<\/span><br \/> <span style=\"color: #000000;\"><strong>3.<\/strong> Gebruik het model om voorspellingen te doen over de gegevens uit de weggelaten subset.<\/span><br \/> <span style=\"color: #000000;\"><strong>4.<\/strong> Herhaal dit proces totdat elk van de k-subsets als testset is gebruikt.<\/span><br \/> <span style=\"color: #000000;\"><strong>5<\/strong> . Meet de kwaliteit van het model door de k-testfouten te middelen. Dit is bekend<\/span><br \/> <span style=\"color: #000000;\">als een kruisvalidatiefout.<\/span><\/p>\n<h3> <strong><span style=\"color: #000000;\">Voorbeeld<\/span><\/strong><\/h3>\n<p> <span style=\"color: #000000;\">In dit voorbeeld verdelen we de gegevens eerst in<\/span> <span style=\"color: #000000;\">5 subsets. Vervolgens passen we het model aan met behulp van alle gegevens, op een subset na. Vervolgens gebruiken we het model om<\/span> <span style=\"color: #000000;\">voorspellingen te doen over de deelverzameling die is weggelaten en registreren we de testfout (met behulp van R-kwadraat, RMSE en MAE). We<\/span> <span style=\"color: #000000;\">herhalen dit proces totdat elke subset als testset is gebruikt. Vervolgens berekenen we eenvoudig het gemiddelde van de 5<\/span> <span style=\"color: #000000;\">testfouten.<\/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;\">Voor- en nadelen van deze aanpak<\/span><\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Het voordeel van de k-voudige kruisvalidatiebenadering ten opzichte van de validatiesetbenadering is dat het model verschillende keren wordt opgebouwd<\/span> <span style=\"color: #000000;\">met elke keer verschillende stukjes gegevens, zodat we niet het risico lopen belangrijke gegevens weg te laten bij het bouwen van<\/span> <span style=\"color: #000000;\">het model.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Het subjectieve deel van deze benadering is het kiezen van de waarde die voor k moet worden gebruikt, dat wil zeggen het aantal subsets waarin<\/span> <span style=\"color: #000000;\">de gegevens moeten worden verdeeld. Over het algemeen leiden lagere k-waarden tot een grotere bias maar een lagere variabiliteit, terwijl hogere k-waarden<\/span> <span style=\"color: #000000;\">leiden tot een lagere bias maar een grotere variabiliteit.<\/span><\/p>\n<p> <span style=\"color: #000000;\">In de praktijk wordt k doorgaans gelijk aan 5 of 10 gekozen, omdat dit aantal<\/span> <span style=\"color: #000000;\">deelverzamelingen de neiging heeft tegelijkertijd te veel vertekening en te veel variabiliteit te vermijden.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>Leave One Out Cross-Validation (LOOCV)-aanpak<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">De <strong>LOOCV-aanpak<\/strong> werkt als volgt:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Bouw het model met behulp van op \u00e9\u00e9n na alle observaties in de dataset.<\/span><br \/> <span style=\"color: #000000;\"><strong>2.<\/strong> Gebruik het model om de waarde van de ontbrekende waarneming te voorspellen. Noteer de fout bij het testen van deze voorspelling.<\/span><br \/> <span style=\"color: #000000;\"><strong>3.<\/strong> Herhaal dit proces voor elke waarneming in de dataset.<\/span><br \/> <span style=\"color: #000000;\"><strong>4.<\/strong> Meet de kwaliteit van het model door alle voorspellingsfouten te middelen.<\/span><\/p>\n<h3> <strong><span style=\"color: #000000;\">Voorbeeld<\/span><\/strong><\/h3>\n<p> <span style=\"color: #000000;\">In het volgende voorbeeld ziet u hoe u LOOCV kunt uitvoeren voor dezelfde gegevensset als in de voorgaande voorbeelden:<\/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>Voor- en nadelen van deze aanpak<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Het voordeel van LOOCV is dat we alle datapunten gebruiken, waardoor mogelijke vertekeningen over het algemeen worden verminderd. Omdat<\/span> <span style=\"color: #000000;\">we het model echter gebruiken om de waarde van elke waarneming te voorspellen, zou dit kunnen leiden tot een grotere variabiliteit in<\/span> <span style=\"color: #000000;\">de voorspellingsfout.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Een ander nadeel van deze aanpak is dat deze in een zo groot aantal modellen moet passen dat deze ineffici\u00ebnt en rekenintensief kan worden.<\/span><\/p>\n<h2> <strong><span style=\"color: #000000;\">Herhaalde k-voudige kruisvalidatiebenadering<\/span><\/strong><\/h2>\n<p> <span style=\"color: #000000;\">We kunnen <strong>herhaalde k-voudige kruisvalidatie<\/strong> uitvoeren door simpelweg meerdere keren k-voudige kruisvalidatie uit te voeren. De uiteindelijke fout is de gemiddelde fout van het<\/span> <span style=\"color: #000000;\">aantal herhalingen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">In het volgende voorbeeld wordt een vijfvoudige kruisvalidatie uitgevoerd, vier keer herhaald:<\/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>Voor- en nadelen van deze aanpak<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Het voordeel van de herhaalde k-voudige kruisvalidatiebenadering is dat voor elke herhaling de gegevens worden opgesplitst in enigszins verschillende subsets, wat een nog onbevooroordeelde schatting van de voorspellingsfout van het model zou moeten opleveren. Het nadeel van deze aanpak is dat deze rekenintensief kan zijn, omdat we het modelaanpassingsproces verschillende keren moeten herhalen.<\/span><\/p>\n<h2> <strong><span style=\"color: #000000;\">Hoe u het aantal vouwen bij kruisvalidatie kiest<\/span><\/strong><\/h2>\n<p> <span style=\"color: #000000;\">Het meest subjectieve onderdeel van kruisvalidatie is het bepalen hoeveel vouwen (dwz subsets) er gebruikt moeten worden. Over het algemeen geldt dat hoe kleiner het aantal vouwen is, des te vertekender de foutschattingen zijn, maar des te minder variabel deze zullen zijn. Omgekeerd geldt: hoe hoger het aantal vouwen, hoe minder vertekend de foutschattingen, maar hoe variabeler ze zullen zijn.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Ook is het belangrijk om rekening te houden met de rekentijd. Voor elke vouw moet je een nieuw patroon trainen, en hoewel dit een langzaam proces is, kan het lang duren als je een groot aantal vouwen kiest.<\/span><\/p>\n<p> <span style=\"color: #000000;\">In de praktijk wordt kruisvalidatie meestal uitgevoerd met 5 of 10 vouwen, omdat dit een goed evenwicht biedt tussen variabiliteit en vertekening, terwijl het ook computationeel effici\u00ebnt is.<\/span><\/p>\n<h2> <strong>Hoe u een model kiest na het uitvoeren van kruisvalidatie<\/strong><\/h2>\n<p> <span style=\"color: #000000;\">Kruisvalidatie wordt gebruikt om de voorspellingsfout van een model te evalueren. Dit kan ons helpen kiezen tussen twee of meer verschillende modellen door te benadrukken welk model de laagste voorspellingsfout heeft (gebaseerd op RMSE, R-kwadraat, enz.).<\/span><\/p>\n<p> <span style=\"color: #000000;\">Nadat we kruisvalidatie hebben gebruikt om het beste model te selecteren, gebruiken we <em>alle<\/em> beschikbare gegevens om bij het gekozen model te passen. We gebruiken niet de daadwerkelijke modelinstanties die we hebben getraind tijdens de kruisvalidatie voor ons uiteindelijke model.<\/span><\/p>\n<p> <span style=\"color: #000000;\">We kunnen bijvoorbeeld 5-voudige kruisvalidatie gebruiken om te bepalen welk model beter kan worden gebruikt tussen twee verschillende regressiemodellen. Zodra we echter hebben vastgesteld welk model het beste kan worden gebruikt, gebruiken we <em>alle<\/em> gegevens om in het uiteindelijke model te passen. Met andere woorden: we vergeten geen enkele vouw bij het bouwen van het uiteindelijke model.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In de statistiek bouwen we vaak modellen om twee redenen: Begrijp de relatie tussen een of meer voorspellende variabelen en een responsvariabele. Gebruik een model om toekomstige waarnemingen te voorspellen. Kruisvalidatie is nuttig om te schatten hoe goed een model toekomstige waarnemingen kan voorspellen. We kunnen bijvoorbeeld een meervoudig lineair regressiemodel bouwen dat leeftijd en [&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":[],"class_list":["post-520","post","type-post","status-publish","format-standard","hentry","category-gids"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Hoe u kunt kruisvalideren voor modelprestaties in R - Statorials<\/title>\n<meta name=\"description\" content=\"In deze zelfstudie worden vier verschillende manieren uitgelegd om kruisvalidatie in R uit te voeren om de modelprestaties te evalueren.\" \/>\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\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hoe u kunt kruisvalideren voor modelprestaties in R - Statorials\" \/>\n<meta property=\"og:description\" content=\"In deze zelfstudie worden vier verschillende manieren uitgelegd om kruisvalidatie in R uit te voeren om de modelprestaties te evalueren.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/\" \/>\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\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/\",\"url\":\"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/\",\"name\":\"Hoe u kunt kruisvalideren voor modelprestaties in R - Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/nl\/#website\"},\"datePublished\":\"2023-07-29T15:29:02+00:00\",\"dateModified\":\"2023-07-29T15:29:02+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\"},\"description\":\"In deze zelfstudie worden vier verschillende manieren uitgelegd om kruisvalidatie in R uit te voeren om de modelprestaties te evalueren.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Thuis\",\"item\":\"https:\/\/statorials.org\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hoe u kunt kruisvalideren voor modelprestaties in r\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/nl\/#website\",\"url\":\"https:\/\/statorials.org\/nl\/\",\"name\":\"Statorials\",\"description\":\"Uw gids voor statistische competentie\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/nl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\",\"name\":\"Dr.benjamin anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Dr.benjamin anderson\"},\"description\":\"Ik ben Benjamin, een gepensioneerde hoogleraar statistiek die nu een toegewijde Statorials-lesgever is. Ik heb uitgebreide ervaring en expertise op het gebied van statistiek en ik ben vastbesloten om mijn kennis te delen met studenten via Statorials. Lees verder\",\"sameAs\":[\"http:\/\/statorials.org\/nl\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hoe u kunt kruisvalideren voor modelprestaties in R - Statorials","description":"In deze zelfstudie worden vier verschillende manieren uitgelegd om kruisvalidatie in R uit te voeren om de modelprestaties te evalueren.","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\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/","og_locale":"de_DE","og_type":"article","og_title":"Hoe u kunt kruisvalideren voor modelprestaties in R - Statorials","og_description":"In deze zelfstudie worden vier verschillende manieren uitgelegd om kruisvalidatie in R uit te voeren om de modelprestaties te evalueren.","og_url":"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/","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\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/","url":"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/","name":"Hoe u kunt kruisvalideren voor modelprestaties in R - Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/nl\/#website"},"datePublished":"2023-07-29T15:29:02+00:00","dateModified":"2023-07-29T15:29:02+00:00","author":{"@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219"},"description":"In deze zelfstudie worden vier verschillende manieren uitgelegd om kruisvalidatie in R uit te voeren om de modelprestaties te evalueren.","breadcrumb":{"@id":"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/nl\/hoe-u-kruisvalidatie-kunt-uitvoeren-voor-modelprestaties-in-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Thuis","item":"https:\/\/statorials.org\/nl\/"},{"@type":"ListItem","position":2,"name":"Hoe u kunt kruisvalideren voor modelprestaties in r"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/nl\/#website","url":"https:\/\/statorials.org\/nl\/","name":"Statorials","description":"Uw gids voor statistische competentie","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/nl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219","name":"Dr.benjamin anderson","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/image\/","url":"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Dr.benjamin anderson"},"description":"Ik ben Benjamin, een gepensioneerde hoogleraar statistiek die nu een toegewijde Statorials-lesgever is. Ik heb uitgebreide ervaring en expertise op het gebied van statistiek en ik ben vastbesloten om mijn kennis te delen met studenten via Statorials. Lees verder","sameAs":["http:\/\/statorials.org\/nl"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/comments?post=520"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/520\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/media?parent=520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/categories?post=520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/tags?post=520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}