{"id":1159,"date":"2023-07-27T11:17:42","date_gmt":"2023-07-27T11:17:42","guid":{"rendered":"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/"},"modified":"2023-07-27T11:17:42","modified_gmt":"2023-07-27T11:17:42","slug":"rotskromme-ggplot2","status":"publish","type":"post","link":"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/","title":{"rendered":"Een roc-curve plotten met ggplot2 (met voorbeelden)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/nl\/logistische-regressie-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">Logistische regressie<\/a> is een statistische methode die we gebruiken om een regressiemodel te fitten wanneer de responsvariabele binair is. Om te evalueren hoe goed een logistisch regressiemodel bij een dataset past, kunnen we naar de volgende twee statistieken kijken:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>Gevoeligheid:<\/strong> waarschijnlijkheid dat het model een positief resultaat voorspelt voor een waarneming terwijl het resultaat daadwerkelijk positief is.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>Specificiteit:<\/strong> de kans dat het model een negatief resultaat voorspelt voor een waarneming terwijl het resultaat feitelijk negatief is.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Een eenvoudige manier om deze twee statistieken te visualiseren is door een <strong>ROC-curve<\/strong> te maken, een grafiek die de gevoeligheid en specificiteit van een logistisch regressiemodel weergeeft.<\/span><\/p>\n<p> <span style=\"color: #000000;\">In deze zelfstudie wordt uitgelegd hoe u een ROC-curve in R maakt en interpreteert met behulp van het ggplot2-visualisatiepakket.<\/span><\/p>\n<h3> <strong>Voorbeeld: ROC-curve met ggplot2<\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Stel dat we het volgende logistische regressiemodel in R passen:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load <em>Default<\/em> dataset from ISLR book<\/span>\ndata &lt;- ISLR::Default\n\n<span style=\"color: #008080;\">#divide dataset into training and test set\n<\/span>set.seed(1)\nsample &lt;- sample(c( <span style=\"color: #008000;\">TRUE<\/span> , <span style=\"color: #008000;\">FALSE<\/span> ), <span style=\"color: #3366ff;\">nrow<\/span> (data), <span style=\"color: #3366ff;\">replace<\/span> = <span style=\"color: #008000;\">TRUE<\/span> , <span style=\"color: #3366ff;\">prob<\/span> =c(0.7,0.3))\ntrain &lt;- data[sample, ]\ntest &lt;- data[!sample, ]\n\n<span style=\"color: #008080;\">#fit logistic regression model to training set<\/span>\nmodel &lt;- glm(default~student+balance+income, family=\" <span style=\"color: #008000;\">binomial<\/span> \", data=train)\n\n<span style=\"color: #008080;\">#use model to make predictions on test set<\/span>\npredicted &lt;- predict(model, test, type=\" <span style=\"color: #008000;\">response<\/span> \")\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Om de prestaties van het logistische regressiemodel op de testset te visualiseren, kunnen we een ROC-plot maken met behulp van de <strong>ggroc()<\/strong> functie uit het <a href=\"https:\/\/www.rdocumentation.org\/packages\/pROC\/versions\/1.16.2\/topics\/ggroc.roc\" target=\"_blank\" rel=\"noopener noreferrer\">pROC-pakket<\/a> :<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load necessary packages<\/span>\n<span style=\"color: #993300;\">library<\/span> (ggplot2)\n<span style=\"color: #993300;\">library<\/span> (pROC)\n\n<span style=\"color: #008080;\">#define object to plot\n<span style=\"color: #000000;\">rocobj &lt;- roc(test$default, predicted)\n<\/span>\n#create ROC plot\n<span style=\"color: #000000;\">ggroc(rocobj)<\/span><\/span><\/strong> <\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-11613 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/rocggplot1.png\" alt=\"ROC-curve in ggplot2\" width=\"445\" height=\"439\" srcset=\"\" sizes=\"auto, \"><\/p>\n<p> <span style=\"color: #000000;\">De y-as geeft de gevoeligheid (het werkelijk positieve percentage) van het model weer en de x-as geeft de specificiteit (het werkelijk negatieve percentage) van het model weer.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Merk op dat we styling aan de plot kunnen toevoegen en ook een titel kunnen opgeven die de AUC (gebied onder de curve) van de plot bevat:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load necessary packages<\/span>\n<span style=\"color: #993300;\">library<\/span> (ggplot2)\n<span style=\"color: #993300;\">library<\/span> (pROC)\n\n<span style=\"color: #008080;\">#define object to plot and calculate AUC\n<\/span>rocobj &lt;- roc(test$default, predicted)\nauc &lt;- <span style=\"color: #3366ff;\">round<\/span> (auc(test$default, predicted), <span style=\"color: #3366ff;\">4<\/span> )\n\n<span style=\"color: #008080;\">#create ROC plot\n<\/span>ggroc(rocobj, color = ' <span style=\"color: #008000;\">steelblue<\/span> ', size = <span style=\"color: #008000;\">2<\/span> ) +\n  ggtitle( <span style=\"color: #3366ff;\">paste0<\/span> (' <span style=\"color: #008000;\">ROC Curve<\/span> ', ' <span style=\"color: #008000;\">(AUC =<\/span> ', auc, ' <span style=\"color: #008000;\">)<\/span> '))<\/strong> <\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-11614 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/rocggplot2.png\" alt=\"ROC-curve met AUC in ggplot2\" width=\"452\" height=\"450\" srcset=\"\" sizes=\"auto, \"><\/p>\n<p> <span style=\"color: #000000;\">Merk op dat u ook het thema van de plot kunt wijzigen:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#create ROC plot with minimal theme\n<\/span>ggroc(rocobj, color = ' <span style=\"color: #008000;\">steelblue<\/span> ', size = <span style=\"color: #008000;\">2<\/span> ) +\n  ggtitle( <span style=\"color: #3366ff;\">paste0<\/span> (' <span style=\"color: #008000;\">ROC Curve<\/span> ', ' <span style=\"color: #008000;\">(AUC =<\/span> ', auc, ' <span style=\"color: #008000;\">)<\/span> ')) +\n  theme_minimal()<\/strong> <\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-11615 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/rocggplot3.png\" alt=\"ROC-curve in R met behulp van ggplot2\" width=\"466\" height=\"466\" srcset=\"\" sizes=\"auto, \"><\/p>\n<p> <span style=\"color: #000000;\">Raadpleeg<a href=\"https:\/\/statorials.org\/nl\/beste-ggplot2-themas\/\" target=\"_blank\" rel=\"noopener noreferrer\">dit artikel<\/a> voor een gids voor de beste ggplot2-thema&#8217;s.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Logistische regressie is een statistische methode die we gebruiken om een regressiemodel te fitten wanneer de responsvariabele binair is. Om te evalueren hoe goed een logistisch regressiemodel bij een dataset past, kunnen we naar de volgende twee statistieken kijken: Gevoeligheid: waarschijnlijkheid dat het model een positief resultaat voorspelt voor een waarneming terwijl het resultaat daadwerkelijk [&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-1159","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>Een ROC-curve plotten met ggplot2 (met voorbeelden)<\/title>\n<meta name=\"description\" content=\"In deze tutorial wordt uitgelegd hoe u een ROC-curve in R kunt plotten met behulp van ggplot2, met verschillende voorbeelden.\" \/>\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\/rotskromme-ggplot2\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Een ROC-curve plotten met ggplot2 (met voorbeelden)\" \/>\n<meta property=\"og:description\" content=\"In deze tutorial wordt uitgelegd hoe u een ROC-curve in R kunt plotten met behulp van ggplot2, met verschillende voorbeelden.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T11:17:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/rocggplot1.png\" \/>\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=\"2\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/\",\"url\":\"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/\",\"name\":\"Een ROC-curve plotten met ggplot2 (met voorbeelden)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/nl\/#website\"},\"datePublished\":\"2023-07-27T11:17:42+00:00\",\"dateModified\":\"2023-07-27T11:17:42+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\"},\"description\":\"In deze tutorial wordt uitgelegd hoe u een ROC-curve in R kunt plotten met behulp van ggplot2, met verschillende voorbeelden.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Thuis\",\"item\":\"https:\/\/statorials.org\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Een roc-curve plotten met ggplot2 (met voorbeelden)\"}]},{\"@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":"Een ROC-curve plotten met ggplot2 (met voorbeelden)","description":"In deze tutorial wordt uitgelegd hoe u een ROC-curve in R kunt plotten met behulp van ggplot2, met verschillende voorbeelden.","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\/rotskromme-ggplot2\/","og_locale":"de_DE","og_type":"article","og_title":"Een ROC-curve plotten met ggplot2 (met voorbeelden)","og_description":"In deze tutorial wordt uitgelegd hoe u een ROC-curve in R kunt plotten met behulp van ggplot2, met verschillende voorbeelden.","og_url":"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/","og_site_name":"Statorials","article_published_time":"2023-07-27T11:17:42+00:00","og_image":[{"url":"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/rocggplot1.png"}],"author":"Dr.benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Dr.benjamin anderson","Gesch\u00e4tzte Lesezeit":"2\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/","url":"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/","name":"Een ROC-curve plotten met ggplot2 (met voorbeelden)","isPartOf":{"@id":"https:\/\/statorials.org\/nl\/#website"},"datePublished":"2023-07-27T11:17:42+00:00","dateModified":"2023-07-27T11:17:42+00:00","author":{"@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219"},"description":"In deze tutorial wordt uitgelegd hoe u een ROC-curve in R kunt plotten met behulp van ggplot2, met verschillende voorbeelden.","breadcrumb":{"@id":"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/nl\/rotskromme-ggplot2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Thuis","item":"https:\/\/statorials.org\/nl\/"},{"@type":"ListItem","position":2,"name":"Een roc-curve plotten met ggplot2 (met voorbeelden)"}]},{"@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\/1159","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=1159"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/1159\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/media?parent=1159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/categories?post=1159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/tags?post=1159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}