{"id":2170,"date":"2023-07-23T10:04:03","date_gmt":"2023-07-23T10:04:03","guid":{"rendered":"https:\/\/statorials.org\/it\/auc-in-python\/"},"modified":"2023-07-23T10:04:03","modified_gmt":"2023-07-23T10:04:03","slug":"auc-in-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/it\/auc-in-python\/","title":{"rendered":"Come calcolare l&#39;auc (area sotto la curva) in python"},"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.<\/span><\/p>\n<p> <span style=\"color: #000000;\">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. Questo \u00e8 anche chiamato il \u201cvero tasso positivo\u201d.<\/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. Questo \u00e8 anche chiamato \u201cvero tasso negativo\u201d.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Un modo per visualizzare queste due misurazioni \u00e8 creare una <strong>curva ROC<\/strong> , che sta per curva &#8220;caratteristica operativa del ricevitore&#8221;.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Questo \u00e8 un grafico che mostra la sensibilit\u00e0 lungo l&#8217;asse y e (1 \u2013 specificit\u00e0) lungo l&#8217;asse x.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Un modo per quantificare l&#8217;efficacia del modello di regressione logistica nella classificazione dei dati \u00e8 calcolare <strong>l&#8217;AUC<\/strong> , che sta per &#8220;area sotto la curva&#8221;.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Pi\u00f9 l\u2019AUC \u00e8 vicino a 1, migliore \u00e8 il modello.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Il seguente esempio passo passo mostra come calcolare l&#8217;AUC per un modello di regressione logistica in Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 1: importa i pacchetti<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Per prima cosa importeremo i pacchetti necessari per eseguire la regressione logistica in Python:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #107d3f;\">import<\/span> pandas <span style=\"color: #107d3f;\">as<\/span> pd\n<span style=\"color: #008000;\">import<\/span> numpy <span style=\"color: #008000;\">as<\/span> np\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> train_test_split\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">linear_model<\/span> <span style=\"color: #008000;\">import<\/span> LogisticRegression\n<span style=\"color: #008000;\">from<\/span> sklearn <span style=\"color: #008000;\">import<\/span> metrics\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 2: adattare il modello di regressione logistica<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Successivamente, importeremo un set di dati e adatteremo ad esso un modello di regressione logistica:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#import dataset from CSV file on Github\n<\/span>url = \"https:\/\/raw.githubusercontent.com\/Statorials\/Python-Guides\/main\/default.csv\"\ndata = pd. <span style=\"color: #3366ff;\">read_csv<\/span> (url)\n\n<span style=\"color: #008080;\">#define the predictor variables and the response variable\n<\/span>X = data[[' <span style=\"color: #ff0000;\">student<\/span> ',' <span style=\"color: #ff0000;\">balance<\/span> ',' <span style=\"color: #ff0000;\">income<\/span> ']]\ny = data[' <span style=\"color: #ff0000;\">default<\/span> ']\n\n<span style=\"color: #008080;\">#split the dataset into training (70%) and testing (30%) sets\n<\/span>X_train,X_test,y_train,y_test = train_test_split(X,y,test_size= <span style=\"color: #008000;\">0.3<\/span> ,random_state= <span style=\"color: #008000;\">0<\/span> ) \n\n<span style=\"color: #008080;\">#instantiate the model\n<\/span>log_regression = LogisticRegression()\n\n<span style=\"color: #008080;\">#fit the model using the training data\n<\/span>log_regression. <span style=\"color: #3366ff;\">fit<\/span> (X_train,y_train)<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 3: calcolare l&#8217;AUC<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Possiamo usare la funzione <strong>metrics.roc_auc_score()<\/strong> per calcolare l&#8217;AUC del modello:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#use model to predict probability that given y value is 1\n<\/span>y_pred_proba = log_regression. <span style=\"color: #3366ff;\">predict_proba<\/span> (X_test)[::, <span style=\"color: #008000;\">1<\/span> ]\n\n<span style=\"color: #008080;\">#calculate AUC of model\n<\/span>auc = metrics. <span style=\"color: #3366ff;\">roc_auc_score<\/span> (y_test, y_pred_proba)\n\n<span style=\"color: #008080;\">#print AUC score\n<\/span><span style=\"color: #008000;\">print<\/span> (auc)\n\n0.5602104030579559\n<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">L&#8217;AUC (area sotto la curva) per questo particolare modello \u00e8 <strong>0,5602<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Ricordiamo che un modello con un punteggio AUC pari a <strong>0,5<\/strong> non \u00e8 migliore di un modello che effettua ipotesi casuali.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Pertanto, nella maggior parte dei casi, un modello con un punteggio AUC pari a <strong>0,5602<\/strong> sarebbe considerato inadeguato nel classificare le osservazioni nelle classi corrette.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Risorse addizionali<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">I seguenti tutorial forniscono informazioni aggiuntive sulle curve ROC e sui punteggi AUC:<\/span><\/p>\n<p> <a href=\"https:\/\/statorials.org\/it\/interpretare-la-curva-della-roccia\/\" target=\"_blank\" rel=\"noopener\">Come interpretare una curva ROC (con esempi)<\/a><br \/> <a href=\"https:\/\/statorials.org\/it\" target=\"_blank\" rel=\"noopener\">Cosa \u00e8 considerato un buon punteggio AUC?<\/a><\/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 calcolare l&#039;AUC (Area Sotto la Curva) in Python - Statorials<\/title>\n<meta name=\"description\" content=\"Questo tutorial spiega come calcolare l&#039;AUC (area sotto la curva) per un modello di regressione logistica in R, incluso un esempio passo passo.\" \/>\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\/auc-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come calcolare l&#039;AUC (Area Sotto la Curva) in Python - Statorials\" \/>\n<meta property=\"og:description\" content=\"Questo tutorial spiega come calcolare l&#039;AUC (area sotto la curva) per un modello di regressione logistica in R, incluso un esempio passo passo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/it\/auc-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-23T10:04:03+00:00\" \/>\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\/auc-in-python\/\",\"url\":\"https:\/\/statorials.org\/it\/auc-in-python\/\",\"name\":\"Come calcolare l&#39;AUC (Area Sotto la Curva) in Python - Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/it\/#website\"},\"datePublished\":\"2023-07-23T10:04:03+00:00\",\"dateModified\":\"2023-07-23T10:04:03+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae\"},\"description\":\"Questo tutorial spiega come calcolare l&#39;AUC (area sotto la curva) per un modello di regressione logistica in R, incluso un esempio passo passo.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/it\/auc-in-python\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/it\/auc-in-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/it\/auc-in-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Casa\",\"item\":\"https:\/\/statorials.org\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Come calcolare l&#39;auc (area sotto la curva) in python\"}]},{\"@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 calcolare l&#39;AUC (Area Sotto la Curva) in Python - Statorials","description":"Questo tutorial spiega come calcolare l&#39;AUC (area sotto la curva) per un modello di regressione logistica in R, incluso un esempio passo passo.","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\/auc-in-python\/","og_locale":"it_IT","og_type":"article","og_title":"Come calcolare l&#39;AUC (Area Sotto la Curva) in Python - Statorials","og_description":"Questo tutorial spiega come calcolare l&#39;AUC (area sotto la curva) per un modello di regressione logistica in R, incluso un esempio passo passo.","og_url":"https:\/\/statorials.org\/it\/auc-in-python\/","og_site_name":"Statorials","article_published_time":"2023-07-23T10:04:03+00:00","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\/auc-in-python\/","url":"https:\/\/statorials.org\/it\/auc-in-python\/","name":"Come calcolare l&#39;AUC (Area Sotto la Curva) in Python - Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/it\/#website"},"datePublished":"2023-07-23T10:04:03+00:00","dateModified":"2023-07-23T10:04:03+00:00","author":{"@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae"},"description":"Questo tutorial spiega come calcolare l&#39;AUC (area sotto la curva) per un modello di regressione logistica in R, incluso un esempio passo passo.","breadcrumb":{"@id":"https:\/\/statorials.org\/it\/auc-in-python\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/it\/auc-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/it\/auc-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Casa","item":"https:\/\/statorials.org\/it\/"},{"@type":"ListItem","position":2,"name":"Come calcolare l&#39;auc (area sotto la curva) in python"}]},{"@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\/2170"}],"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=2170"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts\/2170\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/media?parent=2170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/categories?post=2170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/tags?post=2170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}