{"id":1173,"date":"2023-07-27T10:03:32","date_gmt":"2023-07-27T10:03:32","guid":{"rendered":"https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/"},"modified":"2023-07-27T10:03:32","modified_gmt":"2023-07-27T10:03:32","slug":"lasciare-una-convalida-incrociata-in-r","status":"publish","type":"post","link":"https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/","title":{"rendered":"Convalida incrociata leave-one-out in r (con esempi)"},"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\/lasciare-una-singola-convalida-incrociata\/\" target=\"_blank\" rel=\"noopener noreferrer\">Leave-One-Out Cross-Validation (LOOCV)<\/a> , che utilizza il seguente approccio:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Suddividere un set di dati in un set di training e in un set di test, utilizzando tutte le osservazioni tranne una come parte del set di training.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>2.<\/strong> Crea un modello utilizzando solo i dati del set di training.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>3.<\/strong> Utilizzare il modello per prevedere il valore di risposta dell&#8217;osservazione esclusa dal modello e calcolare l&#8217;errore quadratico medio (MSE).<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>4.<\/strong> Ripeti questo processo <em>n<\/em> volte. Calcolare l&#8217;MSE del test come media di tutti gli MSE del test.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Il modo pi\u00f9 semplice per eseguire LOOCV 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 LOOCV per un determinato modello in R.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Esempio: convalida incrociata Leave-One-Out 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 LOOCV 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;\">LOOCV<\/span> \")\n\n<span style=\"color: #008080;\">#fit a regression model and use LOOCV 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 LOOCV               \n<\/span>print(model)\n\nLinear Regression \n\n10 samples\n 2 predictors\n\nNo pre-processing\nResampling: Leave-One-Out Cross-Validation \nSummary of sample sizes: 9, 9, 9, 9, 9, 9, ... \nResampling results:\n\n  RMSE Rsquared MAE     \n  3.619456 0.6186766 3.146155\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;\">10 campioni diversi sono stati utilizzati per costruire 10 modelli. Ciascun modello utilizzava 2 variabili predittive.<\/span><\/li>\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 generare i 10 campioni \u00e8 stato la convalida incrociata Leave-One-Out.<\/span><\/li>\n<li> <span style=\"color: #000000;\">La dimensione del campione per ciascun set di formazione era di 9.<\/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","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 Leave-One-Out Cross-Validation (LOOCV) , che utilizza il seguente approccio: 1. Suddividere un set di dati in un set di [&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 Leave-One-Out in R (con esempi)<\/title>\n<meta name=\"description\" content=\"Questo tutorial spiega come eseguire la convalida incrociata Leave-One-Out (LOOCV) in R, 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\/lasciare-una-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 Leave-One-Out in R (con esempi)\" \/>\n<meta property=\"og:description\" content=\"Questo tutorial spiega come eseguire la convalida incrociata Leave-One-Out (LOOCV) in R, con diversi esempi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T10:03:32+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\/lasciare-una-convalida-incrociata-in-r\/\",\"url\":\"https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/\",\"name\":\"Convalida incrociata Leave-One-Out in R (con esempi)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/it\/#website\"},\"datePublished\":\"2023-07-27T10:03:32+00:00\",\"dateModified\":\"2023-07-27T10:03:32+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae\"},\"description\":\"Questo tutorial spiega come eseguire la convalida incrociata Leave-One-Out (LOOCV) in R, con diversi esempi.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Casa\",\"item\":\"https:\/\/statorials.org\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Convalida incrociata leave-one-out in r (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":"Convalida incrociata Leave-One-Out in R (con esempi)","description":"Questo tutorial spiega come eseguire la convalida incrociata Leave-One-Out (LOOCV) in R, 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\/lasciare-una-convalida-incrociata-in-r\/","og_locale":"it_IT","og_type":"article","og_title":"Convalida incrociata Leave-One-Out in R (con esempi)","og_description":"Questo tutorial spiega come eseguire la convalida incrociata Leave-One-Out (LOOCV) in R, con diversi esempi.","og_url":"https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/","og_site_name":"Statorials","article_published_time":"2023-07-27T10:03:32+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\/lasciare-una-convalida-incrociata-in-r\/","url":"https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/","name":"Convalida incrociata Leave-One-Out in R (con esempi)","isPartOf":{"@id":"https:\/\/statorials.org\/it\/#website"},"datePublished":"2023-07-27T10:03:32+00:00","dateModified":"2023-07-27T10:03:32+00:00","author":{"@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae"},"description":"Questo tutorial spiega come eseguire la convalida incrociata Leave-One-Out (LOOCV) in R, con diversi esempi.","breadcrumb":{"@id":"https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/it\/lasciare-una-convalida-incrociata-in-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Casa","item":"https:\/\/statorials.org\/it\/"},{"@type":"ListItem","position":2,"name":"Convalida incrociata leave-one-out in r (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\/1173"}],"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=1173"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts\/1173\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/media?parent=1173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/categories?post=1173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/tags?post=1173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}