{"id":1177,"date":"2023-07-27T09:44:39","date_gmt":"2023-07-27T09:44:39","guid":{"rendered":"https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/"},"modified":"2023-07-27T09:44:39","modified_gmt":"2023-07-27T09:44:39","slug":"k-piega-la-convalida-incrociata-in-r","status":"publish","type":"post","link":"https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/","title":{"rendered":"Convalida incrociata k-fold in r (passo dopo passo)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">Per valutare le prestazioni di un modello su un set di dati, dobbiamo misurare quanto bene le previsioni fatte dal modello corrispondono ai dati osservati.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Un metodo comunemente utilizzato per eseguire questa operazione \u00e8 noto come <a href=\"https:\/\/statorials.org\/it\/k-piega-convalida-incrociata\/\" target=\"_blank\" rel=\"noopener noreferrer\">convalida incrociata k-fold<\/a> , che utilizza il seguente approccio:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Dividere casualmente un set di dati in <em>k<\/em> gruppi, o &#8220;pieghe&#8221;, di dimensioni approssimativamente uguali.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>2.<\/strong> Scegli una delle pieghe come set di ritenuta. Adatta il modello alle restanti pieghe k-1. Calcolare il test MSE sulle osservazioni nello strato che \u00e8 stato tensionato.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>3.<\/strong> Ripetere questo processo <em>k<\/em> volte, ogni volta utilizzando un insieme diverso come insieme di esclusione.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>4.<\/strong> Calcolare l&#8217;MSE complessivo del test come media dei <em>k<\/em> MSE del test.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Il modo pi\u00f9 semplice per eseguire la convalida incrociata k-fold in R \u00e8 utilizzare la funzione <a href=\"https:\/\/www.rdocumentation.org\/packages\/caret\/versions\/6.0-86\/topics\/trainControl\" target=\"_blank\" rel=\"noopener noreferrer\">trainControl()<\/a> dalla libreria <strong>caret<\/strong> in R.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Questo tutorial fornisce un rapido esempio di come utilizzare questa funzione per eseguire la convalida incrociata k-fold per un determinato modello in R.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Esempio: convalida incrociata K-Fold in R<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Supponiamo di avere il seguente set di dati in R:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#create data frame<\/span>\ndf &lt;- data.frame(y=c(6, 8, 12, 14, 14, 15, 17, 22, 24, 23),\n                 x1=c(2, 5, 4, 3, 4, 6, 7, 5, 8, 9),\n                 x2=c(14, 12, 12, 13, 7, 8, 7, 4, 6, 5))\n\n<span style=\"color: #008080;\">#view data frame\n<\/span>df\n\ny x1 x2\n6 2 14\n8 5 12\n12 4 12\n14 3 13\n14 4 7\n15 6 8\n17 7 7\n22 5 4\n24 8 6\n23 9 5\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Il codice seguente mostra come adattare un <a href=\"https:\/\/statorials.org\/it\/regressione-lineare-multipla-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">modello di regressione lineare multipla<\/a> a questo set di dati in R ed eseguire una convalida incrociata k-fold con k = 5 volte per valutare le prestazioni del modello:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\"><span style=\"color: #000000;\"><span style=\"color: #993300;\">library<\/span> (caret)<\/span>\n\n#specify the cross-validation method<\/span>\nctrl &lt;- trainControl(method = \" <span style=\"color: #008000;\">cv<\/span> \", number = 5)\n\n<span style=\"color: #008080;\">#fit a regression model and use k-fold CV to evaluate performance\n<\/span>model &lt;- train(y ~ x1 + x2, data = df, method = \" <span style=\"color: #008000;\">lm<\/span> \", trControl = ctrl)\n\n<span style=\"color: #008080;\">#view summary of k-fold CV               \n<\/span>print(model)\n\nLinear Regression \n\n10 samples\n 2 predictors\n\nNo pre-processing\nResampling: Cross-Validated (5 fold) \nSummary of sample sizes: 8, 8, 8, 8, 8 \nResampling results:\n\n  RMSE Rsquared MAE     \n  3.018979 1 2.882348\n\nTuning parameter 'intercept' was held constant at a value of TRUE\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Ecco come interpretare il risultato:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">Non \u00e8 stata effettuata alcuna preelaborazione. Cio\u00e8, non abbiamo <a href=\"https:\/\/statorials.org\/it\/come-normalizzare-i-dati-in-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">ridimensionato i dati<\/a> in alcun modo prima di adattarli ai modelli.<\/span><\/li>\n<li> <span style=\"color: #000000;\">Il metodo di ricampionamento utilizzato per valutare il modello \u00e8 stato la convalida incrociata 5 volte.<\/span><\/li>\n<li> <span style=\"color: #000000;\">La dimensione del campione per ciascun set di formazione era di 8.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>RMSE:<\/strong> errore quadratico medio. Questo misura la differenza media tra le previsioni fatte dal modello e le osservazioni effettive. Pi\u00f9 basso \u00e8 l&#8217;RMSE, pi\u00f9 accuratamente un modello pu\u00f2 prevedere le osservazioni effettive.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>Rsquared:<\/strong> questa \u00e8 una misura della correlazione tra le previsioni fatte dal modello e le osservazioni effettive. Quanto pi\u00f9 alto \u00e8 l\u2019R quadrato, tanto pi\u00f9 accuratamente un modello pu\u00f2 prevedere le osservazioni reali.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>MAE:<\/strong> L&#8217;errore medio assoluto. Questa \u00e8 la differenza media assoluta tra le previsioni fatte dal modello e le osservazioni effettive. Pi\u00f9 basso \u00e8 il MAE, pi\u00f9 accuratamente un modello pu\u00f2 prevedere le osservazioni effettive.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Ognuna delle tre misurazioni fornite nel risultato (RMSE, R-quadrato e MAE) ci d\u00e0 un&#8217;idea della performance del modello su dati non pubblicati.<\/span><\/p>\n<p> <span style=\"color: #000000;\">In pratica, in genere adattiamo diversi modelli diversi e confrontiamo i tre parametri forniti dai risultati qui presentati per decidere quale modello produce i tassi di errore di test pi\u00f9 bassi ed \u00e8 quindi il modello migliore da utilizzare.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Possiamo utilizzare il seguente codice per esaminare l&#8217;adattamento del modello finale:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#view final model<\/span>\nmodel$finalModel\n\nCall:\nlm(formula = .outcome ~ ., data = dat)\n\nCoefficients:\n(Intercept) x1 x2  \n    21.2672 0.7803 -1.1253  \n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Il modello finale risulta essere:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>y = 21,2672 + 0,7803*(x <sub>1<\/sub> ) \u2013 1,12538(x <sub>2<\/sub> )<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">Possiamo utilizzare il seguente codice per visualizzare le previsioni del modello effettuate per ciascuna piega:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#view predictions for each fold<\/span>\nmodel$resample\n\n      RMSE Rsquared MAE Resample\n1 4.808773 1 3.544494 Fold1\n2 3.464675 1 3.366812 Fold2\n3 6.281255 1 6.280702 Fold3\n4 3.759222 1 3.573883 Fold4\n5 1.741127 1 1.679767 Fold5<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Tieni presente che in questo esempio scegliamo di utilizzare k=5 pieghe, ma puoi scegliere qualsiasi numero di pieghe desideri. In pratica, in genere scegliamo tra 5 e 10 strati, poich\u00e9 questo risulta essere il numero ottimale di strati che produce tassi di errore di prova affidabili.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Per valutare le prestazioni di un modello su un set di dati, dobbiamo misurare quanto bene le previsioni fatte dal modello corrispondono ai dati osservati. Un metodo comunemente utilizzato per eseguire questa operazione \u00e8 noto come convalida incrociata k-fold , che utilizza il seguente approccio: 1. Dividere casualmente un set di dati in k gruppi, [&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>Convalida incrociata K-Fold in R (passo dopo passo)<\/title>\n<meta name=\"description\" content=\"Questo tutorial spiega come eseguire la convalida incrociata k-fold 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\/k-piega-la-convalida-incrociata-in-r\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Convalida incrociata K-Fold in R (passo dopo passo)\" \/>\n<meta property=\"og:description\" content=\"Questo tutorial spiega come eseguire la convalida incrociata k-fold in R, incluso un esempio passo passo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T09:44:39+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\/k-piega-la-convalida-incrociata-in-r\/\",\"url\":\"https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/\",\"name\":\"Convalida incrociata K-Fold in R (passo dopo passo)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/it\/#website\"},\"datePublished\":\"2023-07-27T09:44:39+00:00\",\"dateModified\":\"2023-07-27T09:44:39+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae\"},\"description\":\"Questo tutorial spiega come eseguire la convalida incrociata k-fold in R, incluso un esempio passo passo.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Casa\",\"item\":\"https:\/\/statorials.org\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Convalida incrociata k-fold in r (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":"Convalida incrociata K-Fold in R (passo dopo passo)","description":"Questo tutorial spiega come eseguire la convalida incrociata k-fold 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\/k-piega-la-convalida-incrociata-in-r\/","og_locale":"it_IT","og_type":"article","og_title":"Convalida incrociata K-Fold in R (passo dopo passo)","og_description":"Questo tutorial spiega come eseguire la convalida incrociata k-fold in R, incluso un esempio passo passo.","og_url":"https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/","og_site_name":"Statorials","article_published_time":"2023-07-27T09:44:39+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\/k-piega-la-convalida-incrociata-in-r\/","url":"https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/","name":"Convalida incrociata K-Fold in R (passo dopo passo)","isPartOf":{"@id":"https:\/\/statorials.org\/it\/#website"},"datePublished":"2023-07-27T09:44:39+00:00","dateModified":"2023-07-27T09:44:39+00:00","author":{"@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae"},"description":"Questo tutorial spiega come eseguire la convalida incrociata k-fold in R, incluso un esempio passo passo.","breadcrumb":{"@id":"https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/it\/k-piega-la-convalida-incrociata-in-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Casa","item":"https:\/\/statorials.org\/it\/"},{"@type":"ListItem","position":2,"name":"Convalida incrociata k-fold in r (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\/1177"}],"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=1177"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts\/1177\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/media?parent=1177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/categories?post=1177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/tags?post=1177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}