{"id":1159,"date":"2023-07-27T11:17:42","date_gmt":"2023-07-27T11:17:42","guid":{"rendered":"https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/"},"modified":"2023-07-27T11:17:42","modified_gmt":"2023-07-27T11:17:42","slug":"curva-della-roccia-ggplot2","status":"publish","type":"post","link":"https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/","title":{"rendered":"Come tracciare una curva roc utilizzando ggplot2 (con esempi)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/it\/regressione-logistica-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">La regressione logistica<\/a> \u00e8 un metodo statistico che utilizziamo per adattare un modello di regressione quando la variabile di risposta \u00e8 binaria. Per valutare quanto bene un modello di regressione logistica si adatta a un set di dati, possiamo esaminare i due parametri seguenti:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>Sensibilit\u00e0:<\/strong> probabilit\u00e0 che il modello preveda un risultato positivo per un&#8217;osservazione quando il risultato \u00e8 effettivamente positivo.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>Specificit\u00e0:<\/strong> la probabilit\u00e0 che il modello preveda un risultato negativo per un&#8217;osservazione quando il risultato \u00e8 effettivamente negativo.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Un modo semplice per visualizzare queste due metriche \u00e8 creare una <strong>curva ROC<\/strong> , ovvero un grafico che mostra la sensibilit\u00e0 e la specificit\u00e0 di un modello di regressione logistica.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Questo tutorial spiega come creare e interpretare una curva ROC in R utilizzando il pacchetto di visualizzazione ggplot2.<\/span><\/p>\n<h3> <strong>Esempio: curva ROC utilizzando ggplot2<\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Supponiamo di adattare il seguente modello di regressione logistica in 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;\">Per visualizzare le prestazioni del modello di regressione logistica sul set di test, possiamo creare un grafico ROC utilizzando la funzione <strong>ggroc()<\/strong> dal <a href=\"https:\/\/www.rdocumentation.org\/packages\/pROC\/versions\/1.16.2\/topics\/ggroc.roc\" target=\"_blank\" rel=\"noopener noreferrer\">pacchetto 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=\"Curva ROC in ggplot2\" width=\"445\" height=\"439\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">L&#8217;asse y mostra la sensibilit\u00e0 (il tasso di veri positivi) del modello e l&#8217;asse x mostra la specificit\u00e0 (il tasso di veri negativi) del modello.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Tieni presente che possiamo aggiungere uno stile alla trama e anche fornire un titolo contenente l&#8217;AUC (area sotto la curva) della trama:<\/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=\"Curva ROC con AUC in ggplot2\" width=\"452\" height=\"450\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">Tieni presente che puoi anche modificare il tema della trama:<\/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=\"Curva ROC in R utilizzando ggplot2\" width=\"466\" height=\"466\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">Fare riferimento a <a href=\"https:\/\/statorials.org\/it\/i-migliori-temi-ggplot2\/\" target=\"_blank\" rel=\"noopener noreferrer\">questo articolo<\/a> per una guida ai migliori temi ggplot2.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La regressione logistica \u00e8 un metodo statistico che utilizziamo per adattare un modello di regressione quando la variabile di risposta \u00e8 binaria. Per valutare quanto bene un modello di regressione logistica si adatta a un set di dati, possiamo esaminare i due parametri seguenti: Sensibilit\u00e0: probabilit\u00e0 che il modello preveda un risultato positivo per un&#8217;osservazione [&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>Come tracciare una curva ROC utilizzando ggplot2 (con esempi)<\/title>\n<meta name=\"description\" content=\"Questo tutorial spiega come tracciare una curva ROC in R utilizzando ggplot2, con diversi esempi.\" \/>\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\/it\/curva-della-roccia-ggplot2\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come tracciare una curva ROC utilizzando ggplot2 (con esempi)\" \/>\n<meta property=\"og:description\" content=\"Questo tutorial spiega come tracciare una curva ROC in R utilizzando ggplot2, con diversi esempi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/it\/curva-della-roccia-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=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/\",\"url\":\"https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/\",\"name\":\"Come tracciare una curva ROC utilizzando ggplot2 (con esempi)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/it\/#website\"},\"datePublished\":\"2023-07-27T11:17:42+00:00\",\"dateModified\":\"2023-07-27T11:17:42+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae\"},\"description\":\"Questo tutorial spiega come tracciare una curva ROC in R utilizzando ggplot2, con diversi esempi.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Casa\",\"item\":\"https:\/\/statorials.org\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Come tracciare una curva roc utilizzando ggplot2 (con esempi)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/it\/#website\",\"url\":\"https:\/\/statorials.org\/it\/\",\"name\":\"Statorials\",\"description\":\"La tua guida all&#039;alfabetizzazione statistica!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/it\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae\",\"name\":\"Benjamin anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/statorials.org\/it\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"https:\/\/statorials.org\/it\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Benjamin anderson\"},\"description\":\"Ciao, sono Benjamin, un professore di statistica in pensione diventato insegnante dedicato di Statorials. Con una vasta esperienza e competenza nel campo della statistica, sono ansioso di condividere le mie conoscenze per potenziare gli studenti attraverso Statorials. Scopri di pi\u00f9\",\"sameAs\":[\"https:\/\/statorials.org\/it\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Come tracciare una curva ROC utilizzando ggplot2 (con esempi)","description":"Questo tutorial spiega come tracciare una curva ROC in R utilizzando ggplot2, con diversi esempi.","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\/it\/curva-della-roccia-ggplot2\/","og_locale":"it_IT","og_type":"article","og_title":"Come tracciare una curva ROC utilizzando ggplot2 (con esempi)","og_description":"Questo tutorial spiega come tracciare una curva ROC in R utilizzando ggplot2, con diversi esempi.","og_url":"https:\/\/statorials.org\/it\/curva-della-roccia-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":{"Written by":"Benjamin anderson","Est. reading time":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/","url":"https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/","name":"Come tracciare una curva ROC utilizzando ggplot2 (con esempi)","isPartOf":{"@id":"https:\/\/statorials.org\/it\/#website"},"datePublished":"2023-07-27T11:17:42+00:00","dateModified":"2023-07-27T11:17:42+00:00","author":{"@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae"},"description":"Questo tutorial spiega come tracciare una curva ROC in R utilizzando ggplot2, con diversi esempi.","breadcrumb":{"@id":"https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/it\/curva-della-roccia-ggplot2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Casa","item":"https:\/\/statorials.org\/it\/"},{"@type":"ListItem","position":2,"name":"Come tracciare una curva roc utilizzando ggplot2 (con esempi)"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/it\/#website","url":"https:\/\/statorials.org\/it\/","name":"Statorials","description":"La tua guida all&#039;alfabetizzazione statistica!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/it\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae","name":"Benjamin anderson","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/image\/","url":"https:\/\/statorials.org\/it\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"https:\/\/statorials.org\/it\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Benjamin anderson"},"description":"Ciao, sono Benjamin, un professore di statistica in pensione diventato insegnante dedicato di Statorials. Con una vasta esperienza e competenza nel campo della statistica, sono ansioso di condividere le mie conoscenze per potenziare gli studenti attraverso Statorials. Scopri di pi\u00f9","sameAs":["https:\/\/statorials.org\/it"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts\/1159"}],"collection":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/comments?post=1159"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts\/1159\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/media?parent=1159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/categories?post=1159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/tags?post=1159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}