{"id":1157,"date":"2023-07-27T11:17:42","date_gmt":"2023-07-27T11:17:42","guid":{"rendered":"https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/"},"modified":"2023-07-27T11:17:42","modified_gmt":"2023-07-27T11:17:42","slug":"krzywa-skalna-ggplot2","status":"publish","type":"post","link":"https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/","title":{"rendered":"Jak wykre\u015bli\u0107 krzyw\u0105 roc za pomoc\u0105 ggplot2 (z przyk\u0142adami)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/pl\/regresja-logistyczna-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">Regresja logistyczna<\/a> to metoda statystyczna, kt\u00f3rej u\u017cywamy do dopasowania modelu regresji, gdy zmienna odpowiedzi jest binarna. Aby oceni\u0107, jak dobrze model regresji logistycznej pasuje do zbioru danych, mo\u017cemy przyjrze\u0107 si\u0119 nast\u0119puj\u0105cym dw\u00f3m metrykom:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>Czu\u0142o\u015b\u0107:<\/strong> prawdopodobie\u0144stwo, \u017ce model przewiduje pozytywny wynik obserwacji, gdy wynik jest rzeczywi\u015bcie pozytywny.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>Specyficzno\u015b\u0107:<\/strong> prawdopodobie\u0144stwo, \u017ce model przewiduje negatywny wynik obserwacji, gdy wynik jest faktycznie negatywny.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Prostym sposobem wizualizacji tych dw\u00f3ch metryk jest utworzenie <strong>krzywej ROC<\/strong> , czyli wykresu przedstawiaj\u0105cego czu\u0142o\u015b\u0107 i swoisto\u015b\u0107 modelu regresji logistycznej.<\/span><\/p>\n<p> <span style=\"color: #000000;\">W tym samouczku wyja\u015bniono, jak utworzy\u0107 i zinterpretowa\u0107 krzyw\u0105 ROC w j\u0119zyku R przy u\u017cyciu pakietu wizualizacji ggplot2.<\/span><\/p>\n<h3> <strong>Przyk\u0142ad: krzywa ROC przy u\u017cyciu ggplot2<\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Za\u0142\u00f3\u017cmy, \u017ce dopasowujemy nast\u0119puj\u0105cy model regresji logistycznej w R:<\/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;\">Aby zwizualizowa\u0107 dzia\u0142anie modelu regresji logistycznej na zestawie testowym, mo\u017cemy utworzy\u0107 wykres ROC za pomoc\u0105 funkcji <strong>ggroc()<\/strong> z <a href=\"https:\/\/www.rdocumentation.org\/packages\/pROC\/versions\/1.16.2\/topics\/ggroc.roc\" target=\"_blank\" rel=\"noopener noreferrer\">pakietu pROC<\/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=\"Krzywa ROC w ggplot2\" width=\"445\" height=\"439\" srcset=\"\" sizes=\"auto, \"><\/p>\n<p> <span style=\"color: #000000;\">O\u015b y przedstawia czu\u0142o\u015b\u0107 (prawdziwie dodatni wsp\u00f3\u0142czynnik) modelu, a o\u015b x przedstawia specyficzno\u015b\u0107 (prawdziwie ujemny wsp\u00f3\u0142czynnik) modelu.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Pami\u0119taj, \u017ce mo\u017cemy doda\u0107 stylizacj\u0119 do fabu\u0142y, a tak\u017ce poda\u0107 tytu\u0142 zawieraj\u0105cy AUC (obszar pod krzyw\u0105) dzia\u0142ki:<\/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=\"Krzywa ROC z AUC w ggplot2\" width=\"452\" height=\"450\" srcset=\"\" sizes=\"auto, \"><\/p>\n<p> <span style=\"color: #000000;\">Pami\u0119taj, \u017ce mo\u017cesz tak\u017ce modyfikowa\u0107 tematyk\u0119 fabu\u0142y:<\/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=\"Krzywa ROC w R przy u\u017cyciu ggplot2\" width=\"466\" height=\"466\" srcset=\"\" sizes=\"auto, \"><\/p>\n<p> <span style=\"color: #000000;\">Przewodnik po najlepszych motywach ggplot2 znajdziesz w <a href=\"https:\/\/statorials.org\/pl\/najlepsze-motywy-ggplot2\/\" target=\"_blank\" rel=\"noopener noreferrer\">tym artykule<\/a> .<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Regresja logistyczna to metoda statystyczna, kt\u00f3rej u\u017cywamy do dopasowania modelu regresji, gdy zmienna odpowiedzi jest binarna. Aby oceni\u0107, jak dobrze model regresji logistycznej pasuje do zbioru danych, mo\u017cemy przyjrze\u0107 si\u0119 nast\u0119puj\u0105cym dw\u00f3m metrykom: Czu\u0142o\u015b\u0107: prawdopodobie\u0144stwo, \u017ce model przewiduje pozytywny wynik obserwacji, gdy wynik jest rzeczywi\u015bcie pozytywny. Specyficzno\u015b\u0107: prawdopodobie\u0144stwo, \u017ce model przewiduje negatywny wynik obserwacji, gdy [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1157","post","type-post","status-publish","format-standard","hentry","category-przewodnik"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Jak wykre\u015bli\u0107 krzyw\u0105 ROC za pomoc\u0105 ggplot2 (z przyk\u0142adami)<\/title>\n<meta name=\"description\" content=\"W tym samouczku wyja\u015bniono, jak wykre\u015bli\u0107 krzyw\u0105 ROC w j\u0119zyku R za pomoc\u0105 ggplot2, z kilkoma przyk\u0142adami.\" \/>\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\/pl\/krzywa-skalna-ggplot2\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jak wykre\u015bli\u0107 krzyw\u0105 ROC za pomoc\u0105 ggplot2 (z przyk\u0142adami)\" \/>\n<meta property=\"og:description\" content=\"W tym samouczku wyja\u015bniono, jak wykre\u015bli\u0107 krzyw\u0105 ROC w j\u0119zyku R za pomoc\u0105 ggplot2, z kilkoma przyk\u0142adami.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/pl\/krzywa-skalna-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=\"Benjamin Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/\",\"url\":\"https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/\",\"name\":\"Jak wykre\u015bli\u0107 krzyw\u0105 ROC za pomoc\u0105 ggplot2 (z przyk\u0142adami)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/pl\/#website\"},\"datePublished\":\"2023-07-27T11:17:42+00:00\",\"dateModified\":\"2023-07-27T11:17:42+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965\"},\"description\":\"W tym samouczku wyja\u015bniono, jak wykre\u015bli\u0107 krzyw\u0105 ROC w j\u0119zyku R za pomoc\u0105 ggplot2, z kilkoma przyk\u0142adami.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Dom\",\"item\":\"https:\/\/statorials.org\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jak wykre\u015bli\u0107 krzyw\u0105 roc za pomoc\u0105 ggplot2 (z przyk\u0142adami)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/pl\/#website\",\"url\":\"https:\/\/statorials.org\/pl\/\",\"name\":\"Statorials\",\"description\":\"Tw\u00f3j przewodnik po kompetencjach statystycznych!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/pl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965\",\"name\":\"Benjamin Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/statorials.org\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/statorials.org\/pl\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"https:\/\/statorials.org\/pl\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg\",\"caption\":\"Benjamin Anderson\"},\"description\":\"Cze\u015b\u0107, jestem Benjamin i jestem emerytowanym profesorem statystyki, kt\u00f3ry zosta\u0142 oddanym nauczycielem Statorials. Dzi\u0119ki bogatemu do\u015bwiadczeniu i wiedzy specjalistycznej w dziedzinie statystyki ch\u0119tnie dziel\u0119 si\u0119 swoj\u0105 wiedz\u0105, aby wzmocni\u0107 pozycj\u0119 uczni\u00f3w za po\u015brednictwem Statorials. Wiedzie\u0107 wi\u0119cej\",\"sameAs\":[\"https:\/\/statorials.org\/pl\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jak wykre\u015bli\u0107 krzyw\u0105 ROC za pomoc\u0105 ggplot2 (z przyk\u0142adami)","description":"W tym samouczku wyja\u015bniono, jak wykre\u015bli\u0107 krzyw\u0105 ROC w j\u0119zyku R za pomoc\u0105 ggplot2, z kilkoma przyk\u0142adami.","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\/pl\/krzywa-skalna-ggplot2\/","og_locale":"pl_PL","og_type":"article","og_title":"Jak wykre\u015bli\u0107 krzyw\u0105 ROC za pomoc\u0105 ggplot2 (z przyk\u0142adami)","og_description":"W tym samouczku wyja\u015bniono, jak wykre\u015bli\u0107 krzyw\u0105 ROC w j\u0119zyku R za pomoc\u0105 ggplot2, z kilkoma przyk\u0142adami.","og_url":"https:\/\/statorials.org\/pl\/krzywa-skalna-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":"Benjamin Anderson","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Benjamin Anderson","Szacowany czas czytania":"2 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/","url":"https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/","name":"Jak wykre\u015bli\u0107 krzyw\u0105 ROC za pomoc\u0105 ggplot2 (z przyk\u0142adami)","isPartOf":{"@id":"https:\/\/statorials.org\/pl\/#website"},"datePublished":"2023-07-27T11:17:42+00:00","dateModified":"2023-07-27T11:17:42+00:00","author":{"@id":"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965"},"description":"W tym samouczku wyja\u015bniono, jak wykre\u015bli\u0107 krzyw\u0105 ROC w j\u0119zyku R za pomoc\u0105 ggplot2, z kilkoma przyk\u0142adami.","breadcrumb":{"@id":"https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/pl\/krzywa-skalna-ggplot2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Dom","item":"https:\/\/statorials.org\/pl\/"},{"@type":"ListItem","position":2,"name":"Jak wykre\u015bli\u0107 krzyw\u0105 roc za pomoc\u0105 ggplot2 (z przyk\u0142adami)"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/pl\/#website","url":"https:\/\/statorials.org\/pl\/","name":"Statorials","description":"Tw\u00f3j przewodnik po kompetencjach statystycznych!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/pl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965","name":"Benjamin Anderson","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/statorials.org\/pl\/#\/schema\/person\/image\/","url":"https:\/\/statorials.org\/pl\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg","contentUrl":"https:\/\/statorials.org\/pl\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg","caption":"Benjamin Anderson"},"description":"Cze\u015b\u0107, jestem Benjamin i jestem emerytowanym profesorem statystyki, kt\u00f3ry zosta\u0142 oddanym nauczycielem Statorials. Dzi\u0119ki bogatemu do\u015bwiadczeniu i wiedzy specjalistycznej w dziedzinie statystyki ch\u0119tnie dziel\u0119 si\u0119 swoj\u0105 wiedz\u0105, aby wzmocni\u0107 pozycj\u0119 uczni\u00f3w za po\u015brednictwem Statorials. Wiedzie\u0107 wi\u0119cej","sameAs":["https:\/\/statorials.org\/pl"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/posts\/1157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/comments?post=1157"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/posts\/1157\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/media?parent=1157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/categories?post=1157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/tags?post=1157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}