{"id":3045,"date":"2023-07-19T11:54:34","date_gmt":"2023-07-19T11:54:34","guid":{"rendered":"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/"},"modified":"2023-07-19T11:54:34","modified_gmt":"2023-07-19T11:54:34","slug":"treno-di-prova-diviso-r","status":"publish","type":"post","link":"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/","title":{"rendered":"Come suddividere i dati in allenamento &amp; #038; set di test in r (3 metodi)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">Spesso, quando adattiamo gli algoritmi di machine learning ai set di dati, prima dividiamo il set di dati in un set di addestramento e un set di test.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Esistono tre modi comuni per suddividere i dati in set di training e test in R:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Metodo 1: utilizzare Base R<\/strong><\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#make this example reproducible\n<\/span>set. <span style=\"color: #3366ff;\">seeds<\/span> (1)\n\n<span style=\"color: #008080;\">#use 70% of dataset as training set and 30% as test set\n<\/span>sample &lt;- sample(c( <span style=\"color: #008000;\">TRUE<\/span> , <span style=\"color: #008000;\">FALSE<\/span> ), nrow(df), replace= <span style=\"color: #008000;\">TRUE<\/span> , prob=c( <span style=\"color: #008000;\">0.7<\/span> , <span style=\"color: #008000;\">0.3<\/span> ))\ntrain &lt;- df[sample, ]\ntest &lt;- df[!sample, ]<\/strong><\/pre>\n<p> <span style=\"color: #000000;\"><strong>Metodo 2: utilizzare il pacchetto caTools<\/strong><\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\"><span style=\"color: #000000;\"><span style=\"color: #008000;\">library<\/span> (caTools)<\/span>\n\n#make this example reproducible\n<\/span>set. <span style=\"color: #3366ff;\">seeds<\/span> (1)\n\n<span style=\"color: #008080;\">#use 70% of dataset as training set and 30% as test set\n<\/span>sample &lt;- sample. <span style=\"color: #3366ff;\">split<\/span> (df$any_column_name, SplitRatio = <span style=\"color: #008000;\">0.7<\/span> )\ntrain &lt;- subset(df, sample == <span style=\"color: #008000;\">TRUE<\/span> )\ntest &lt;- subset(df, sample == <span style=\"color: #008000;\">FALSE<\/span> )<\/strong><\/pre>\n<p> <span style=\"color: #000000;\"><strong>Metodo 3: utilizzare il pacchetto dplyr<\/strong><\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\"><span style=\"color: #000000;\"><span style=\"color: #008000;\">library<\/span> (dplyr)<\/span>\n\n#make this example reproducible\n<\/span>set. <span style=\"color: #3366ff;\">seeds<\/span> (1)\n\n<span style=\"color: #008080;\">#create ID column\n<\/span>df$id &lt;- 1:nrow(df)\n\n<span style=\"color: #008080;\">#use 70% of dataset as training set and 30% as test set<\/span>\ntrain &lt;- df %&gt;% dplyr::sample_frac( <span style=\"color: #008000;\">0.70<\/span> )\ntest &lt;- dplyr::anti_join(df, train, by = ' <span style=\"color: #ff0000;\">id<\/span> ')<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica con il <a href=\"https:\/\/statorials.org\/it\/set-di-dati-iris-r\/\" target=\"_blank\" rel=\"noopener\">set di dati iris<\/a> integrato in R.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Esempio 1: dividere i dati in set di training e test utilizzando Base R<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\"><span style=\"color: #000000;\">Il codice seguente mostra come utilizzare la base R per dividere il set di dati dell&#8217;iride in un set di training e un set di test, utilizzando il 70% delle righe come set di training e il restante 30% come set di testing:<\/span><\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load iris dataset\n<\/span>data(iris)\n\n<span style=\"color: #008080;\">#make this example reproducible\n<\/span>set. <span style=\"color: #3366ff;\">seeds<\/span> (1)\n\n<span style=\"color: #008080;\">#Use 70% of dataset as training set and remaining 30% as testing set\n<\/span>sample &lt;- sample(c( <span style=\"color: #008000;\">TRUE<\/span> , <span style=\"color: #008000;\">FALSE<\/span> ), nrow(iris), replace= <span style=\"color: #008000;\">TRUE<\/span> , prob=c( <span style=\"color: #008000;\">0.7<\/span> , <span style=\"color: #008000;\">0.3<\/span> ))\ntrain &lt;- iris[sample, ]\ntest &lt;- iris[!sample, ]\n\n<span style=\"color: #008080;\">#view dimensions of training set\n<\/span>sun(train)\n\n[1] 106 5\n\n<span style=\"color: #008080;\">#view dimensions of test set\n<\/span>dim(test)\n\n[1] 44 5<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Dal risultato possiamo vedere:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">Il set di training \u00e8 un frame di dati di 106 righe e 5 colonne.<\/span><\/li>\n<li> <span style=\"color: #000000;\">Il test \u00e8 un blocco dati di 44 righe e 5 colonne.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Poich\u00e9 il database originale aveva 150 righe in totale, il set di training contiene circa 106\/150 = 70,6% delle righe originali.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Possiamo anche visualizzare le prime righe del training set se vogliamo:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#view first few rows of training set\n<\/span>head(train)\n\n  Sepal.Length Sepal.Width Petal.Length Petal.Width Species\n1 5.1 3.5 1.4 0.2 setosa\n2 4.9 3.0 1.4 0.2 setosa\n3 4.7 3.2 1.3 0.2 setosa\n5 5.0 3.6 1.4 0.2 setosa\n8 5.0 3.4 1.5 0.2 setosa\n9 4.4 2.9 1.4 0.2 setosa\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Esempio 2: dividere i dati in set di training e test utilizzando caTools<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Il codice seguente mostra come utilizzare il pacchetto <strong>caTools<\/strong> in R per dividere il set di dati iris in un set di training e un set di testing, utilizzando il 70% delle righe come set di training e il restante 30% come set di testing:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\"><span style=\"color: #000000;\"><span style=\"color: #008000;\">library<\/span> (caTools)<\/span>\n\n#load iris dataset\n<\/span>data(iris)\n\n<span style=\"color: #008080;\">#make this example reproducible\n<\/span>set. <span style=\"color: #3366ff;\">seeds<\/span> (1)\n\n<span style=\"color: #008080;\">#Use 70% of dataset as training set and remaining 30% as testing set\n<\/span>sample &lt;- sample. <span style=\"color: #3366ff;\">split<\/span> (iris$Species, SplitRatio = <span style=\"color: #008000;\">0.7<\/span> )\ntrain &lt;- subset(iris, sample == <span style=\"color: #008000;\">TRUE<\/span> )\ntest &lt;- subset(iris, sample == <span style=\"color: #008000;\">FALSE<\/span> )\n\n<span style=\"color: #008080;\">#view dimensions of training set\n<\/span>sun(train)\n\n[1] 105 5\n\n<span style=\"color: #008080;\">#view dimensions of test set\n<\/span>dim(test)\n\n[1] 45 5<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Dal risultato possiamo vedere:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">Il set di training \u00e8 un frame di dati di 105 righe e 5 colonne.<\/span><\/li>\n<li> <span style=\"color: #000000;\">Il test \u00e8 un blocco dati di 45 righe e 5 colonne.<\/span><\/li>\n<\/ul>\n<h3> <span style=\"color: #000000;\"><strong>Esempio 3: dividere i dati in set di training e test utilizzando dplyr<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Il codice seguente mostra come utilizzare il pacchetto <strong>caTools<\/strong> in R per dividere il set di dati iris in un set di training e un set di testing, utilizzando il 70% delle righe come set di training e il restante 30% come set di testing:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\"><span style=\"color: #000000;\"><span style=\"color: #008000;\">library<\/span> (dplyr)<\/span>\n\n#load iris dataset\n<\/span>data(iris)\n\n<span style=\"color: #008080;\">#make this example reproducible\n<\/span>set. <span style=\"color: #3366ff;\">seeds<\/span> (1)\n\n<span style=\"color: #008080;\">#create variable ID\n<\/span>iris$id &lt;- 1:nrow(iris)\n\n<span style=\"color: #008080;\">#Use 70% of dataset as training set and remaining 30% as testing set<\/span> \ntrain &lt;- iris %&gt;% dplyr::sample_frac( <span style=\"color: #008000;\">0.7<\/span> )\ntest &lt;- dplyr::anti_join(iris, train, by = ' <span style=\"color: #ff0000;\">id<\/span> ')\n\n<span style=\"color: #008080;\">#view dimensions of training set\n<\/span>sun(train)\n\n[1] 105 6\n\n<span style=\"color: #008080;\">#view dimensions of test set\n<\/span>dim(test)\n\n[1] 45 6\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Dal risultato possiamo vedere:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">Il set di training \u00e8 un frame di dati di 105 righe e 6 colonne.<\/span><\/li>\n<li> <span style=\"color: #000000;\">Il test \u00e8 un blocco dati di 45 righe e 6 colonne.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Tieni presente che questi set di training e test contengono una colonna &#8220;id&#8221; aggiuntiva che abbiamo creato.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Assicurati di non utilizzare questa colonna (o di rimuoverla completamente dai frame di dati) quando regoli l&#8217;algoritmo di machine learning.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Risorse addizionali<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">I seguenti tutorial spiegano come eseguire altre operazioni comuni in R:<\/span><\/p>\n<p> <a href=\"https:\/\/statorials.org\/it\/come-calcolare-mse-in-r\/\" target=\"_blank\" rel=\"noopener\">Come calcolare MSE in R<\/a><br \/> <a href=\"https:\/\/statorials.org\/it\/come-calcolare-rmse-in-r\/\" target=\"_blank\" rel=\"noopener\">Come calcolare l&#8217;RMSE in R<\/a><br \/> <a href=\"https:\/\/statorials.org\/it\/r-quadrati-in-r-si-adatta\/\" target=\"_blank\" rel=\"noopener\">Come calcolare l&#8217;R quadrato corretto in R<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Spesso, quando adattiamo gli algoritmi di machine learning ai set di dati, prima dividiamo il set di dati in un set di addestramento e un set di test. Esistono tre modi comuni per suddividere i dati in set di training e test in R: Metodo 1: utilizzare Base R #make this example reproducible set. seeds [&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 dividere i dati in set di training e test in R (3 metodi) - Statorials<\/title>\n<meta name=\"description\" content=\"Questo tutorial spiega come suddividere i dati in set di training e test in R, utilizzando tre metodi diversi.\" \/>\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\/treno-di-prova-diviso-r\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come dividere i dati in set di training e test in R (3 metodi) - Statorials\" \/>\n<meta property=\"og:description\" content=\"Questo tutorial spiega come suddividere i dati in set di training e test in R, utilizzando tre metodi diversi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-19T11:54:34+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=\"4 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/\",\"url\":\"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/\",\"name\":\"Come dividere i dati in set di training e test in R (3 metodi) - Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/it\/#website\"},\"datePublished\":\"2023-07-19T11:54:34+00:00\",\"dateModified\":\"2023-07-19T11:54:34+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae\"},\"description\":\"Questo tutorial spiega come suddividere i dati in set di training e test in R, utilizzando tre metodi diversi.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Casa\",\"item\":\"https:\/\/statorials.org\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Come suddividere i dati in allenamento &amp; #038; set di test in r (3 metodi)\"}]},{\"@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 dividere i dati in set di training e test in R (3 metodi) - Statorials","description":"Questo tutorial spiega come suddividere i dati in set di training e test in R, utilizzando tre metodi diversi.","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\/treno-di-prova-diviso-r\/","og_locale":"it_IT","og_type":"article","og_title":"Come dividere i dati in set di training e test in R (3 metodi) - Statorials","og_description":"Questo tutorial spiega come suddividere i dati in set di training e test in R, utilizzando tre metodi diversi.","og_url":"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/","og_site_name":"Statorials","article_published_time":"2023-07-19T11:54:34+00:00","author":"Benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Benjamin anderson","Est. reading time":"4 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/","url":"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/","name":"Come dividere i dati in set di training e test in R (3 metodi) - Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/it\/#website"},"datePublished":"2023-07-19T11:54:34+00:00","dateModified":"2023-07-19T11:54:34+00:00","author":{"@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae"},"description":"Questo tutorial spiega come suddividere i dati in set di training e test in R, utilizzando tre metodi diversi.","breadcrumb":{"@id":"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/it\/treno-di-prova-diviso-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Casa","item":"https:\/\/statorials.org\/it\/"},{"@type":"ListItem","position":2,"name":"Come suddividere i dati in allenamento &amp; #038; set di test in r (3 metodi)"}]},{"@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\/3045"}],"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=3045"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts\/3045\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/media?parent=3045"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/categories?post=3045"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/tags?post=3045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}