{"id":1195,"date":"2023-07-27T08:14:05","date_gmt":"2023-07-27T08:14:05","guid":{"rendered":"https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/"},"modified":"2023-07-27T08:14:05","modified_gmt":"2023-07-27T08:14:05","slug":"regressione-della-cresta-in-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/","title":{"rendered":"Regressione ridge in python (passo dopo passo)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/it\/regressione-della-cresta\/\" target=\"_blank\" rel=\"noopener noreferrer\">La regressione della cresta<\/a> \u00e8 un metodo che possiamo utilizzare per adattare un modello di regressione quando nei dati \u00e8 presente <a href=\"https:\/\/statorials.org\/it\/regressione-multicollinearita\/\" target=\"_blank\" rel=\"noopener noreferrer\">la multicollinearit\u00e0<\/a> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">In poche parole, la regressione dei minimi quadrati tenta di trovare stime di coefficienti che minimizzino la somma residua dei quadrati (RSS):<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>RSS = \u03a3(y <sub>i<\/sub> \u2013 \u0177 <sub>i<\/sub> )2<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">Oro:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>\u03a3<\/strong> : simbolo greco che significa <em>somma<\/em><\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>y <sub>i<\/sub><\/strong> : il valore di risposta effettivo per l&#8217; <sup>i-esima<\/sup> osservazione<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>\u0177 <sub>i<\/sub><\/strong> : il valore di risposta previsto basato sul modello di regressione lineare multipla<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Al contrario, la regressione della cresta cerca di minimizzare quanto segue:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>RSS + \u03bb\u03a3\u03b2 <sub>j<\/sub> <sup>2<\/sup><\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">dove <em>j<\/em> va da 1 a <em>p<\/em> variabili predittive e \u03bb \u2265 0.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Questo secondo termine nell&#8217;equazione \u00e8 noto come <em>penalit\u00e0 di ritiro<\/em> . Nella regressione della cresta, selezioniamo un valore per \u03bb che produce il test MSE pi\u00f9 basso possibile (errore quadratico medio).<\/span><\/p>\n<p> <span style=\"color: #000000;\">Questo tutorial fornisce un esempio passo passo di come eseguire la regressione della cresta in Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 1: importa i pacchetti necessari<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Per prima cosa importeremo i pacchetti necessari per eseguire la regressione della cresta in Python:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008000;\">import<\/span> pandas <span style=\"color: #008000;\">as<\/span> pd\n<span style=\"color: #008000;\">from<\/span> numpy <span style=\"color: #008000;\">import<\/span> arange\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">linear_model<\/span> <span style=\"color: #008000;\">import<\/span> Ridge\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">linear_model<\/span> <span style=\"color: #008000;\">import<\/span> RidgeCV\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> RepeatedKFold<\/strong><\/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 un set di dati chiamato <strong>mtcars<\/strong> , che contiene informazioni su 33 auto diverse. Utilizzeremo <strong>hp<\/strong> come variabile di risposta e le seguenti variabili come predittori:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">mpg<\/span><\/li>\n<li> <span style=\"color: #000000;\">peso<\/span><\/li>\n<li> <span style=\"color: #000000;\">merda<\/span><\/li>\n<li> <span style=\"color: #000000;\">qsec<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Il codice seguente mostra come caricare e visualizzare questo set di dati:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define URL where data is located<\/span>\nurl = \"https:\/\/raw.githubusercontent.com\/Statorials\/Python-Guides\/main\/mtcars.csv\"\n\n<span style=\"color: #008080;\">#read in data<\/span>\ndata_full = pd. <span style=\"color: #3366ff;\">read_csv<\/span> (url)\n\n<span style=\"color: #008080;\">#select subset of data\n<\/span>data = data_full[[\"mpg\", \"wt\", \"drat\", \"qsec\", \"hp\"]]\n\n<span style=\"color: #008080;\">#view first six rows of data<\/span>\ndata[0:6]\n\n\tmpg wt drat qsec hp\n0 21.0 2.620 3.90 16.46 110\n1 21.0 2.875 3.90 17.02 110\n2 22.8 2.320 3.85 18.61 93\n3 21.4 3.215 3.08 19.44 110\n4 18.7 3,440 3.15 17.02 175\n5 18.1 3.460 2.76 20.22 105<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 3: adattare il modello di regressione della cresta<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Successivamente, utilizzeremo la funzione <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.linear_model.RidgeCV.html\" target=\"_blank\" rel=\"noopener noreferrer\">RidgeCV()<\/a> di sklearn per adattare il modello di regressione della cresta e utilizzeremo la funzione <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.model_selection.RepeatedKFold.html\" target=\"_blank\" rel=\"noopener noreferrer\">RepeatedKFold()<\/a> per eseguire la convalida incrociata k-fold per trovare il valore alfa ottimale da utilizzare per il termine di penalit\u00e0.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><em><strong>Nota:<\/strong> in Python viene utilizzato il termine &#8220;alpha&#8221; al posto di &#8220;lambda&#8221;.<\/em><\/span><\/p>\n<p> <span style=\"color: #000000;\">Per questo esempio, sceglieremo k = 10 volte e ripeteremo il processo di convalida incrociata 3 volte.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Tieni inoltre presente che RidgeCV() verifica solo i valori alfa 0,1, 1 e 10 per impostazione predefinita. Tuttavia, possiamo impostare il nostro intervallo alfa da 0 a 1 con incrementi di 0,01:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define predictor and response variables\n<\/span>X = data[[\"mpg\", \"wt\", \"drat\", \"qsec\"]]\ny = data[\"hp\"]\n\n<span style=\"color: #008080;\">#define cross-validation method to evaluate model\n<\/span>cv = RepeatedKFold(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\n<span style=\"color: #008080;\">#define model\n<\/span>model = RidgeCV(alphas= <span style=\"color: #3366ff;\">arange<\/span> (0, 1, 0.01), cv=cv, scoring=' <span style=\"color: #008000;\">neg_mean_absolute_error<\/span> ')\n\n<span style=\"color: #008080;\">#fit model\n<\/span>model. <span style=\"color: #3366ff;\">fit<\/span> (x,y)\n\n<span style=\"color: #008080;\">#display lambda that produced the lowest test MSE\n<\/span>print( <span style=\"color: #3366ff;\">model.alpha_<\/span> )\n\n0.99<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Il valore lambda che minimizza l&#8217;MSE del test risulta essere <strong>0,99<\/strong> .<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 4: utilizzare il modello per fare previsioni<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Infine, possiamo utilizzare il modello di regressione della cresta finale per fare previsioni sulle nuove osservazioni. Ad esempio, il codice seguente mostra come definire una nuova automobile con i seguenti attributi:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">mpg: 24<\/span><\/li>\n<li> <span style=\"color: #000000;\">peso: 2,5<\/span><\/li>\n<li> <span style=\"color: #000000;\">prezzo: 3,5<\/span><\/li>\n<li> <span style=\"color: #000000;\">qsec: 18,5<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Il codice seguente mostra come utilizzare il modello di regressione della cresta adattata per prevedere il valore <em>hp<\/em> di questa nuova osservazione:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define new observation\n<span style=\"color: #000000;\">new = [24, 2.5, 3.5, 18.5]\n<\/span>\n#predict hp value using ridge regression model\n<span style=\"color: #000000;\">model. <span style=\"color: #3366ff;\">predict<\/span> ([new])\n\narray([104.16398018])\n<\/span><\/span><\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">In base ai valori inseriti, il modello prevede che questa vettura avr\u00e0 un valore di <em>CV<\/em> pari a <strong>104,16398018<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Puoi trovare il codice Python completo utilizzato in questo esempio <a href=\"https:\/\/github.com\/Statorials\/Python-Guides\/blob\/main\/ridge_regression.py\" target=\"_blank\" rel=\"noopener noreferrer\">qui<\/a> .<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La regressione della cresta \u00e8 un metodo che possiamo utilizzare per adattare un modello di regressione quando nei dati \u00e8 presente la multicollinearit\u00e0 . In poche parole, la regressione dei minimi quadrati tenta di trovare stime di coefficienti che minimizzino la somma residua dei quadrati (RSS): RSS = \u03a3(y i \u2013 \u0177 i )2 Oro: [&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>Regressione della cresta in Python (passo dopo passo) - Statorials<\/title>\n<meta name=\"description\" content=\"Questo tutorial spiega come eseguire la regressione della cresta 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\/regressione-della-cresta-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Regressione della cresta in Python (passo dopo passo) - Statorials\" \/>\n<meta property=\"og:description\" content=\"Questo tutorial spiega come eseguire la regressione della cresta in Python, incluso un esempio passo passo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T08:14:05+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\/regressione-della-cresta-in-python\/\",\"url\":\"https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/\",\"name\":\"Regressione della cresta in Python (passo dopo passo) - Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/it\/#website\"},\"datePublished\":\"2023-07-27T08:14:05+00:00\",\"dateModified\":\"2023-07-27T08:14:05+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae\"},\"description\":\"Questo tutorial spiega come eseguire la regressione della cresta in Python, incluso un esempio passo passo.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Casa\",\"item\":\"https:\/\/statorials.org\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Regressione ridge 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":"Regressione della cresta in Python (passo dopo passo) - Statorials","description":"Questo tutorial spiega come eseguire la regressione della cresta 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\/regressione-della-cresta-in-python\/","og_locale":"it_IT","og_type":"article","og_title":"Regressione della cresta in Python (passo dopo passo) - Statorials","og_description":"Questo tutorial spiega come eseguire la regressione della cresta in Python, incluso un esempio passo passo.","og_url":"https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/","og_site_name":"Statorials","article_published_time":"2023-07-27T08:14:05+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\/regressione-della-cresta-in-python\/","url":"https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/","name":"Regressione della cresta in Python (passo dopo passo) - Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/it\/#website"},"datePublished":"2023-07-27T08:14:05+00:00","dateModified":"2023-07-27T08:14:05+00:00","author":{"@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae"},"description":"Questo tutorial spiega come eseguire la regressione della cresta in Python, incluso un esempio passo passo.","breadcrumb":{"@id":"https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/it\/regressione-della-cresta-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Casa","item":"https:\/\/statorials.org\/it\/"},{"@type":"ListItem","position":2,"name":"Regressione ridge 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\/1195"}],"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=1195"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts\/1195\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/media?parent=1195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/categories?post=1195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/tags?post=1195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}