{"id":1177,"date":"2023-07-27T09:44:39","date_gmt":"2023-07-27T09:44:39","guid":{"rendered":"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/"},"modified":"2023-07-27T09:44:39","modified_gmt":"2023-07-27T09:44:39","slug":"k-voudige-kruisvalidatie-in-r","status":"publish","type":"post","link":"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/","title":{"rendered":"K-voudige kruisvalidatie in r (stap voor stap)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">Om de prestaties van een model op een dataset te evalueren, moeten we meten hoe goed de voorspellingen van het model overeenkomen met de waargenomen gegevens.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Een veelgebruikte methode om dit te doen staat bekend als <a href=\"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie\/\" target=\"_blank\" rel=\"noopener noreferrer\">k-fold cross-validatie<\/a> , waarbij de volgende aanpak wordt gebruikt:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Verdeel een dataset willekeurig in <em>k<\/em> groepen, of \u2018vouwen\u2019, van ongeveer gelijke grootte.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>2.<\/strong> Kies een van de vouwen als bevestigingsset. Pas de sjabloon aan de resterende k-1-vouwen aan. Bereken de MSE-proef op de waarnemingen in de gespannen lamel.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>3.<\/strong> Herhaal dit proces <em>k<\/em> keer, telkens met een andere set als uitsluitingsset.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>4.<\/strong> Bereken de totale test-MSE als het gemiddelde van de <em>k-<\/em> test-MSE&#8217;s.<\/span><\/p>\n<p> <span style=\"color: #000000;\">De eenvoudigste manier om k-voudige kruisvalidatie uit te voeren in R is door de functie <a href=\"https:\/\/www.rdocumentation.org\/packages\/caret\/versions\/6.0-86\/topics\/trainControl\" target=\"_blank\" rel=\"noopener noreferrer\">trainControl()<\/a> uit de <strong>caret-<\/strong> bibliotheek in R te gebruiken.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Deze tutorial geeft een snel voorbeeld van hoe u deze functie kunt gebruiken om k-voudige kruisvalidatie uit te voeren voor een bepaald model in R.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Voorbeeld: K-voudige kruisvalidatie in R<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Stel dat we de volgende dataset in R hebben:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#create data frame<\/span>\ndf &lt;- data.frame(y=c(6, 8, 12, 14, 14, 15, 17, 22, 24, 23),\n                 x1=c(2, 5, 4, 3, 4, 6, 7, 5, 8, 9),\n                 x2=c(14, 12, 12, 13, 7, 8, 7, 4, 6, 5))\n\n<span style=\"color: #008080;\">#view data frame\n<\/span>df\n\ny x1 x2\n6 2 14\n8 5 12\n12 4 12\n14 3 13\n14 4 7\n15 6 8\n17 7 7\n22 5 4\n24 8 6\n23 9 5\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">De volgende code laat zien hoe u een <a href=\"https:\/\/statorials.org\/nl\/meervoudige-lineaire-regressie-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">meervoudig lineair regressiemodel<\/a> aan deze gegevensset in R kunt aanpassen en k-voudige kruisvalidatie met k = 5 keer kunt uitvoeren om de prestaties van het model te evalueren:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\"><span style=\"color: #000000;\"><span style=\"color: #993300;\">library<\/span> (caret)<\/span>\n\n#specify the cross-validation method<\/span>\nctrl &lt;- trainControl(method = \" <span style=\"color: #008000;\">cv<\/span> \", number = 5)\n\n<span style=\"color: #008080;\">#fit a regression model and use k-fold CV to evaluate performance\n<\/span>model &lt;- train(y ~ x1 + x2, data = df, method = \" <span style=\"color: #008000;\">lm<\/span> \", trControl = ctrl)\n\n<span style=\"color: #008080;\">#view summary of k-fold CV               \n<\/span>print(model)\n\nLinear Regression \n\n10 samples\n 2 predictors\n\nNo pre-processing\nResampling: Cross-Validated (5 fold) \nSummary of sample sizes: 8, 8, 8, 8, 8 \nResampling results:\n\n  RMSE Rsquared MAE     \n  3.018979 1 2.882348\n\nTuning parameter 'intercept' was held constant at a value of TRUE\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Zo interpreteert u het resultaat:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">Er heeft geen voorbewerking plaatsgevonden. Dat wil zeggen dat we <a href=\"https:\/\/statorials.org\/nl\/hoe-gegevens-in-r-te-normaliseren\/\" target=\"_blank\" rel=\"noopener noreferrer\">de gegevens op geen enkele manier hebben geschaald<\/a> voordat we de modellen hebben aangepast.<\/span><\/li>\n<li> <span style=\"color: #000000;\">De resamplingmethode die we gebruikten om het model te evalueren, was vijfvoudige kruisvalidatie.<\/span><\/li>\n<li> <span style=\"color: #000000;\">De steekproefomvang voor elke trainingsset was 8.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>RMSE:<\/strong> wortelgemiddelde kwadratische fout. Dit meet het gemiddelde verschil tussen de voorspellingen van het model en de daadwerkelijke waarnemingen. Hoe lager de RMSE, hoe nauwkeuriger een model daadwerkelijke waarnemingen kan voorspellen.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>Rsquared:<\/strong> Dit is een maatstaf voor de correlatie tussen voorspellingen van het model en feitelijke waarnemingen. Hoe hoger het R-kwadraat, hoe nauwkeuriger een model feitelijke waarnemingen kan voorspellen.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>MAE:<\/strong> De gemiddelde absolute fout. Dit is het gemiddelde absolute verschil tussen de voorspellingen van het model en de feitelijke waarnemingen. Hoe lager de MAE, hoe nauwkeuriger een model daadwerkelijke waarnemingen kan voorspellen.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Elk van de drie metingen in het resultaat (RMSE, R-kwadraat en MAE) geeft ons een idee van de prestaties van het model op basis van niet-gepubliceerde gegevens.<\/span><\/p>\n<p> <span style=\"color: #000000;\">In de praktijk passen we doorgaans verschillende modellen toe en vergelijken we de drie meetgegevens die de hier gepresenteerde resultaten opleveren om te beslissen welk model de laagste testfoutenpercentages oplevert en daarom het beste model is om te gebruiken.<\/span><\/p>\n<p> <span style=\"color: #000000;\">We kunnen de volgende code gebruiken om de uiteindelijke pasvorm van het model te onderzoeken:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#view final model<\/span>\nmodel$finalModel\n\nCall:\nlm(formula = .outcome ~ ., data = dat)\n\nCoefficients:\n(Intercept) x1 x2  \n    21.2672 0.7803 -1.1253  \n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Het uiteindelijke model blijkt te zijn:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>y = 21,2672 + 0,7803*(x <sub>1<\/sub> ) \u2013 1,12538(x <sub>2<\/sub> )<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">We kunnen de volgende code gebruiken om de modelvoorspellingen voor elke vouw weer te geven:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#view predictions for each fold<\/span>\nmodel$resample\n\n      RMSE Rsquared MAE Resample\n1 4.808773 1 3.544494 Fold1\n2 3.464675 1 3.366812 Fold2\n3 6.281255 1 6.280702 Fold3\n4 3.759222 1 3.573883 Fold4\n5 1.741127 1 1.679767 Fold5<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Merk op dat we in dit voorbeeld ervoor kiezen om k=5 vouwen te gebruiken, maar u kunt elk gewenst aantal vouwen kiezen. In de praktijk kiezen we doorgaans tussen 5 en 10 lagen, omdat dit het optimale aantal lagen blijkt te zijn dat betrouwbare testfoutpercentages oplevert.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Om de prestaties van een model op een dataset te evalueren, moeten we meten hoe goed de voorspellingen van het model overeenkomen met de waargenomen gegevens. Een veelgebruikte methode om dit te doen staat bekend als k-fold cross-validatie , waarbij de volgende aanpak wordt gebruikt: 1. Verdeel een dataset willekeurig in k groepen, of \u2018vouwen\u2019, [&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-1177","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>K-voudige kruisvalidatie in R (stap voor stap)<\/title>\n<meta name=\"description\" content=\"In deze zelfstudie wordt uitgelegd hoe u k-voudige kruisvalidatie in R uitvoert, inclusief een stapsgewijs voorbeeld.\" \/>\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\/k-voudige-kruisvalidatie-in-r\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"K-voudige kruisvalidatie in R (stap voor stap)\" \/>\n<meta property=\"og:description\" content=\"In deze zelfstudie wordt uitgelegd hoe u k-voudige kruisvalidatie in R uitvoert, inclusief een stapsgewijs voorbeeld.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T09:44:39+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=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/\",\"url\":\"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/\",\"name\":\"K-voudige kruisvalidatie in R (stap voor stap)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/nl\/#website\"},\"datePublished\":\"2023-07-27T09:44:39+00:00\",\"dateModified\":\"2023-07-27T09:44:39+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\"},\"description\":\"In deze zelfstudie wordt uitgelegd hoe u k-voudige kruisvalidatie in R uitvoert, inclusief een stapsgewijs voorbeeld.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Thuis\",\"item\":\"https:\/\/statorials.org\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"K-voudige kruisvalidatie in r (stap voor stap)\"}]},{\"@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":"K-voudige kruisvalidatie in R (stap voor stap)","description":"In deze zelfstudie wordt uitgelegd hoe u k-voudige kruisvalidatie in R uitvoert, inclusief een stapsgewijs voorbeeld.","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\/k-voudige-kruisvalidatie-in-r\/","og_locale":"de_DE","og_type":"article","og_title":"K-voudige kruisvalidatie in R (stap voor stap)","og_description":"In deze zelfstudie wordt uitgelegd hoe u k-voudige kruisvalidatie in R uitvoert, inclusief een stapsgewijs voorbeeld.","og_url":"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/","og_site_name":"Statorials","article_published_time":"2023-07-27T09:44:39+00:00","author":"Dr.benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Dr.benjamin anderson","Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/","url":"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/","name":"K-voudige kruisvalidatie in R (stap voor stap)","isPartOf":{"@id":"https:\/\/statorials.org\/nl\/#website"},"datePublished":"2023-07-27T09:44:39+00:00","dateModified":"2023-07-27T09:44:39+00:00","author":{"@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219"},"description":"In deze zelfstudie wordt uitgelegd hoe u k-voudige kruisvalidatie in R uitvoert, inclusief een stapsgewijs voorbeeld.","breadcrumb":{"@id":"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/nl\/k-voudige-kruisvalidatie-in-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Thuis","item":"https:\/\/statorials.org\/nl\/"},{"@type":"ListItem","position":2,"name":"K-voudige kruisvalidatie in r (stap voor stap)"}]},{"@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\/1177","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=1177"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/1177\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/media?parent=1177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/categories?post=1177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/tags?post=1177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}