{"id":1168,"date":"2023-07-27T10:29:04","date_gmt":"2023-07-27T10:29:04","guid":{"rendered":"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/"},"modified":"2023-07-27T10:29:04","modified_gmt":"2023-07-27T10:29:04","slug":"analisi-discriminante-quadratica-in-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/","title":{"rendered":"Analisi discriminante quadratica in python (passo dopo passo)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica\/\" target=\"_blank\" rel=\"noopener noreferrer\">L&#8217;analisi discriminante quadratica<\/a> \u00e8 un metodo che \u00e8 possibile utilizzare quando si dispone di un insieme di variabili predittive e si desidera classificare una <a href=\"https:\/\/statorials.org\/it\/variabili-risposte-esplicative\/\" target=\"_blank\" rel=\"noopener noreferrer\">variabile di risposta<\/a> in due o pi\u00f9 classi.<\/span><\/p>\n<p> <span style=\"color: #000000;\">\u00c8 considerato l&#8217;equivalente non lineare <a href=\"https:\/\/statorials.org\/it\/analisi-discriminante-lineare-in-python\/\" target=\"_blank\" rel=\"noopener noreferrer\">dell&#8217;analisi discriminante lineare<\/a> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Questo tutorial fornisce un esempio passo passo di come eseguire l&#8217;analisi discriminante quadratica in Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 1: caricare le librerie necessarie<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Innanzitutto, caricheremo le funzioni e le librerie necessarie per questo esempio:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><b><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;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> RepeatedStratifiedKFold\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> cross_val_score\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">discriminant_analysis<\/span> <span style=\"color: #008000;\">import<\/span> QuadraticDiscriminantAnalysis \n<span style=\"color: #008000;\">from<\/span> sklearn <span style=\"color: #008000;\">import<\/span> datasets\n<span style=\"color: #008000;\">import<\/span> matplotlib. <span style=\"color: #3366ff;\">pyplot<\/span> <span style=\"color: #008000;\">as<\/span> plt\n<span style=\"color: #008000;\">import<\/span> pandas <span style=\"color: #008000;\">as<\/span> pd\n<span style=\"color: #008000;\">import<\/span> numpy <span style=\"color: #008000;\">as<\/span> np<\/b><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 2: caricare i dati<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Per questo esempio, utilizzeremo il set di dati <strong>iris<\/strong> dalla libreria sklearn. Il codice seguente mostra come caricare questo set di dati e convertirlo in un DataFrame panda per facilit\u00e0 d&#8217;uso:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load <em>iris<\/em> dataset<\/span>\niris = datasets. <span style=\"color: #3366ff;\">load_iris<\/span> ()\n\n<span style=\"color: #008080;\">#convert dataset to pandas DataFrame\n<\/span>df = pd.DataFrame(data = np.c_[iris[' <span style=\"color: #008000;\">data<\/span> '], iris[' <span style=\"color: #008000;\">target<\/span> ']],\n                 columns = iris[' <span style=\"color: #008000;\">feature_names<\/span> '] + [' <span style=\"color: #008000;\">target<\/span> '])\ndf[' <span style=\"color: #008000;\">species<\/span> '] = pd. <span style=\"color: #3366ff;\">Categorical<\/span> . <span style=\"color: #3366ff;\">from_codes<\/span> (iris.target, iris.target_names)\ndf.columns = [' <span style=\"color: #008000;\">s_length<\/span> ', ' <span style=\"color: #008000;\">s_width<\/span> ', ' <span style=\"color: #008000;\">p_length<\/span> ', ' <span style=\"color: #008000;\">p_width<\/span> ', ' <span style=\"color: #008000;\">target<\/span> ', ' <span style=\"color: #008000;\">species<\/span> ']\n\n<span style=\"color: #008080;\">#view first six rows of DataFrame\n<\/span>df. <span style=\"color: #3366ff;\">head<\/span> ()\n\n   s_length s_width p_length p_width target species\n0 5.1 3.5 1.4 0.2 0.0 setosa\n1 4.9 3.0 1.4 0.2 0.0 setosa\n2 4.7 3.2 1.3 0.2 0.0 setosa\n3 4.6 3.1 1.5 0.2 0.0 setosa\n4 5.0 3.6 1.4 0.2 0.0 setosa\n\n<span style=\"color: #3366ff;\"><span style=\"color: #008080;\">#find how many total observations are in dataset<\/span>\n<span style=\"color: #000000;\">len(df.index)\n\n150<\/span><\/span><\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Possiamo vedere che il set di dati contiene 150 osservazioni in totale.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Per questo esempio, costruiremo un modello di analisi discriminante quadratica per classificare la specie a cui appartiene un dato fiore.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Utilizzeremo le seguenti variabili predittive nel modello:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">Lunghezza del sepalo<\/span><\/li>\n<li> <span style=\"color: #000000;\">Larghezza del sepalo<\/span><\/li>\n<li> <span style=\"color: #000000;\">Lunghezza del petalo<\/span><\/li>\n<li> <span style=\"color: #000000;\">Larghezza del petalo<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">E li useremo per prevedere la variabile di risposta <em>Specie<\/em> , che supporta le seguenti tre classi potenziali:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">setosa<\/span><\/li>\n<li> <span style=\"color: #000000;\">versicolor<\/span><\/li>\n<li> <span style=\"color: #000000;\">Virginia<\/span><\/li>\n<\/ul>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 3: modificare il modello QDA<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Successivamente, adatteremo il modello QDA ai nostri dati utilizzando la funzione <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis.html\" target=\"_blank\" rel=\"noopener noreferrer\">QuadraticDiscriminantAnalsys<\/a> di sklearn:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#define predictor and response variables\n<\/span>X = df[[' <span style=\"color: #008000;\">s_length<\/span> ',' <span style=\"color: #008000;\">s_width<\/span> ',' <span style=\"color: #008000;\">p_length<\/span> ',' <span style=\"color: #008000;\">p_width<\/span> ']]\ny = df[' <span style=\"color: #008000;\">species<\/span> ']\n\n<span style=\"color: #008080;\">#Fit the QDA model\n<\/span>model = QuadraticDiscriminantAnalysis()\nmodel. <span style=\"color: #3366ff;\">fit<\/span> (x,y)\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 4: utilizzare il modello per fare previsioni<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Una volta adattato il modello utilizzando i nostri dati, possiamo valutare le prestazioni del modello utilizzando ripetute validazioni incrociate stratificate k-fold.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Per questo esempio utilizzeremo 10 pieghe e 3 ripetizioni:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#Define method to evaluate model\n<span style=\"color: #000000;\">cv = RepeatedStratifiedKFold(n_splits= <span style=\"color: #008000;\">10<\/span> , n_repeats= <span style=\"color: #008000;\">3<\/span> , random_state= <span style=\"color: #008000;\">1<\/span> )\n<\/span>\n#evaluate model\n<span style=\"color: #000000;\">scores = cross_val_score(model, X, y, scoring=' <span style=\"color: #008000;\">accuracy<\/span> ', cv=cv, n_jobs=-1)\nprint( <span style=\"color: #3366ff;\">np.mean<\/span> (scores))<\/span>  \n\n<span style=\"color: #000000;\">0.97333333333334<\/span><\/span><\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Possiamo vedere che il modello ha raggiunto una precisione media del <strong>97,33%<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Possiamo anche utilizzare il modello per prevedere a quale classe appartiene un nuovo fiore, in base ai valori di input:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#define new observation\n<\/span>new = [5, 3, 1, .4]\n\n<span style=\"color: #008080;\">#predict which class the new observation belongs to\n<\/span>model. <span style=\"color: #3366ff;\">predict<\/span> ([new])\n\narray(['setosa'], dtype='&lt;U10')\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Vediamo che il modello prevede che questa nuova osservazione appartenga alla specie chiamata <em>setosa<\/em> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Puoi trovare il codice Python completo utilizzato in questo tutorial <a href=\"https:\/\/github.com\/Statorials\/Python-Guides\/blob\/main\/quadratic_discriminant_analysis.py\" target=\"_blank\" rel=\"noopener noreferrer\">qui<\/a> .<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;analisi discriminante quadratica \u00e8 un metodo che \u00e8 possibile utilizzare quando si dispone di un insieme di variabili predittive e si desidera classificare una variabile di risposta in due o pi\u00f9 classi. \u00c8 considerato l&#8217;equivalente non lineare dell&#8217;analisi discriminante lineare . Questo tutorial fornisce un esempio passo passo di come eseguire l&#8217;analisi discriminante quadratica in [&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>Analisi discriminante quadratica in Python (passo dopo passo)<\/title>\n<meta name=\"description\" content=\"Questo tutorial spiega come eseguire l&#039;analisi discriminante quadratica in Python, 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\/analisi-discriminante-quadratica-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Analisi discriminante quadratica in Python (passo dopo passo)\" \/>\n<meta property=\"og:description\" content=\"Questo tutorial spiega come eseguire l&#039;analisi discriminante quadratica in Python, incluso un esempio passo passo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T10:29:04+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=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/\",\"url\":\"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/\",\"name\":\"Analisi discriminante quadratica in Python (passo dopo passo)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/it\/#website\"},\"datePublished\":\"2023-07-27T10:29:04+00:00\",\"dateModified\":\"2023-07-27T10:29:04+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae\"},\"description\":\"Questo tutorial spiega come eseguire l&#39;analisi discriminante quadratica in Python, incluso un esempio passo passo.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Casa\",\"item\":\"https:\/\/statorials.org\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Analisi discriminante quadratica in python (passo dopo passo)\"}]},{\"@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":"Analisi discriminante quadratica in Python (passo dopo passo)","description":"Questo tutorial spiega come eseguire l&#39;analisi discriminante quadratica in Python, 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\/analisi-discriminante-quadratica-in-python\/","og_locale":"it_IT","og_type":"article","og_title":"Analisi discriminante quadratica in Python (passo dopo passo)","og_description":"Questo tutorial spiega come eseguire l&#39;analisi discriminante quadratica in Python, incluso un esempio passo passo.","og_url":"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/","og_site_name":"Statorials","article_published_time":"2023-07-27T10:29:04+00:00","author":"Benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Benjamin anderson","Est. reading time":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/","url":"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/","name":"Analisi discriminante quadratica in Python (passo dopo passo)","isPartOf":{"@id":"https:\/\/statorials.org\/it\/#website"},"datePublished":"2023-07-27T10:29:04+00:00","dateModified":"2023-07-27T10:29:04+00:00","author":{"@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae"},"description":"Questo tutorial spiega come eseguire l&#39;analisi discriminante quadratica in Python, incluso un esempio passo passo.","breadcrumb":{"@id":"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/it\/analisi-discriminante-quadratica-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Casa","item":"https:\/\/statorials.org\/it\/"},{"@type":"ListItem","position":2,"name":"Analisi discriminante quadratica in python (passo dopo passo)"}]},{"@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\/1168"}],"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=1168"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts\/1168\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/media?parent=1168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/categories?post=1168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/tags?post=1168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}