{"id":1176,"date":"2023-07-27T09:44:39","date_gmt":"2023-07-27T09:44:39","guid":{"rendered":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/"},"modified":"2023-07-27T09:44:39","modified_gmt":"2023-07-27T09:44:39","slug":"validacao-cruzada-k-fold-em-r","status":"publish","type":"post","link":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/","title":{"rendered":"Valida\u00e7\u00e3o cruzada k-fold em r (passo a passo)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">Para avaliar o desempenho de um modelo em um conjunto de dados, precisamos medir at\u00e9 que ponto as previs\u00f5es feitas pelo modelo correspondem aos dados observados.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Um m\u00e9todo comumente usado para fazer isso \u00e9 conhecido como <a href=\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold\/\" target=\"_blank\" rel=\"noopener noreferrer\">valida\u00e7\u00e3o cruzada k-fold<\/a> , que usa a seguinte abordagem:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Divida aleatoriamente um conjunto de dados em <em>k<\/em> grupos, ou \u201cdobras\u201d, de tamanho aproximadamente igual.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>2.<\/strong> Escolha uma das dobras como conjunto de conten\u00e7\u00e3o. Ajuste o modelo \u00e0s dobras k-1 restantes. Calcule o teste MSE nas observa\u00e7\u00f5es da camada que foi tensionada.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>3.<\/strong> Repita esse processo <em>k<\/em> vezes, cada vez usando um conjunto diferente como conjunto de exclus\u00e3o.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>4.<\/strong> Calcule o MSE geral do teste como a m\u00e9dia dos <em>k<\/em> MSEs do teste.<\/span><\/p>\n<p> <span style=\"color: #000000;\">A maneira mais f\u00e1cil de realizar a valida\u00e7\u00e3o cruzada k-fold em R \u00e9 usar a fun\u00e7\u00e3o <a href=\"https:\/\/www.rdocumentation.org\/packages\/caret\/versions\/6.0-86\/topics\/trainControl\" target=\"_blank\" rel=\"noopener noreferrer\">trainControl()<\/a> da biblioteca <strong>caret<\/strong> em R.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Este tutorial fornece um exemplo r\u00e1pido de como usar esta fun\u00e7\u00e3o para realizar valida\u00e7\u00e3o cruzada k-fold para um determinado modelo em R.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Exemplo: valida\u00e7\u00e3o cruzada K-Fold em R<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Suponha que temos o seguinte conjunto de dados em 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;\">O c\u00f3digo a seguir mostra como ajustar um <a href=\"https:\/\/statorials.org\/pt\/regressao-linear-multipla-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">modelo de regress\u00e3o linear m\u00faltipla<\/a> a este conjunto de dados em R e realizar valida\u00e7\u00e3o cruzada k-fold com k = 5 vezes para avaliar o desempenho do modelo:<\/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;\">Veja como interpretar o resultado:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">Nenhum pr\u00e9-processamento ocorreu. Ou seja, n\u00e3o <a href=\"https:\/\/statorials.org\/pt\/como-normalizar-dados-em-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">dimensionamos os dados<\/a> de forma alguma antes de ajustar os modelos.<\/span><\/li>\n<li> <span style=\"color: #000000;\">O m\u00e9todo de reamostragem que usamos para avaliar o modelo foi a valida\u00e7\u00e3o cruzada de 5 vezes.<\/span><\/li>\n<li> <span style=\"color: #000000;\">O tamanho da amostra para cada conjunto de treinamento foi 8.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>RMSE:<\/strong> raiz do erro quadr\u00e1tico m\u00e9dio. Isso mede a diferen\u00e7a m\u00e9dia entre as previs\u00f5es feitas pelo modelo e as observa\u00e7\u00f5es reais. Quanto menor o RMSE, mais precisamente um modelo pode prever as observa\u00e7\u00f5es reais.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>Rquadrado:<\/strong> Esta \u00e9 uma medida da correla\u00e7\u00e3o entre as previs\u00f5es feitas pelo modelo e as observa\u00e7\u00f5es reais. Quanto maior o R ao quadrado, mais precisamente um modelo pode prever as observa\u00e7\u00f5es reais.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>MAE:<\/strong> O erro absoluto m\u00e9dio. Esta \u00e9 a diferen\u00e7a m\u00e9dia absoluta entre as previs\u00f5es feitas pelo modelo e as observa\u00e7\u00f5es reais. Quanto menor o MAE, mais precisamente um modelo pode prever as observa\u00e7\u00f5es reais.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Cada uma das tr\u00eas medidas fornecidas no resultado (RMSE, R-quadrado e MAE) nos d\u00e1 uma ideia do desempenho do modelo em dados n\u00e3o publicados.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Na pr\u00e1tica, normalmente ajustamos v\u00e1rios modelos diferentes e comparamos as tr\u00eas m\u00e9tricas fornecidas pelos resultados aqui apresentados para decidir qual modelo produz as taxas de erro de teste mais baixas e \u00e9, portanto, o melhor modelo a ser usado.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Podemos usar o seguinte c\u00f3digo para examinar o ajuste final do modelo:<\/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;\">O modelo final acabou sendo:<\/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;\">Podemos usar o c\u00f3digo a seguir para exibir as previs\u00f5es do modelo feitas para cada dobra:<\/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;\">Observe que neste exemplo optamos por usar k=5 dobras, mas voc\u00ea pode escolher qualquer n\u00famero de dobras que desejar. Na pr\u00e1tica, normalmente escolhemos entre 5 e 10 camadas, pois esse \u00e9 o n\u00famero ideal de camadas que produz taxas de erro de teste confi\u00e1veis.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para avaliar o desempenho de um modelo em um conjunto de dados, precisamos medir at\u00e9 que ponto as previs\u00f5es feitas pelo modelo correspondem aos dados observados. Um m\u00e9todo comumente usado para fazer isso \u00e9 conhecido como valida\u00e7\u00e3o cruzada k-fold , que usa a seguinte abordagem: 1. Divida aleatoriamente um conjunto de dados em k grupos, [&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":[],"class_list":["post-1176","post","type-post","status-publish","format-standard","hentry","category-guia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Valida\u00e7\u00e3o cruzada K-Fold em R (passo a passo)<\/title>\n<meta name=\"description\" content=\"Este tutorial explica como realizar a valida\u00e7\u00e3o cruzada k-fold em R, incluindo um exemplo passo a 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\/pt\/validacao-cruzada-k-fold-em-r\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Valida\u00e7\u00e3o cruzada K-Fold em R (passo a passo)\" \/>\n<meta property=\"og:description\" content=\"Este tutorial explica como realizar a valida\u00e7\u00e3o cruzada k-fold em R, incluindo um exemplo passo a passo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-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=\"Dr. benjamim anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dr. benjamim anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/\",\"url\":\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/\",\"name\":\"Valida\u00e7\u00e3o cruzada K-Fold em R (passo a passo)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/pt\/#website\"},\"datePublished\":\"2023-07-27T09:44:39+00:00\",\"dateModified\":\"2023-07-27T09:44:39+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666\"},\"description\":\"Este tutorial explica como realizar a valida\u00e7\u00e3o cruzada k-fold em R, incluindo um exemplo passo a passo.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Lar\",\"item\":\"https:\/\/statorials.org\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Valida\u00e7\u00e3o cruzada k-fold em r (passo a passo)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/pt\/#website\",\"url\":\"https:\/\/statorials.org\/pt\/\",\"name\":\"Statorials\",\"description\":\"O seu guia para a literacia estat\u00edstica!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/pt\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666\",\"name\":\"Dr. benjamim anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/statorials.org\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Dr. benjamim anderson\"},\"description\":\"Ol\u00e1, sou Benjamin, um professor aposentado de estat\u00edstica que se tornou professor dedicado na Statorials. Com vasta experi\u00eancia e conhecimento na \u00e1rea de estat\u00edstica, estou empenhado em compartilhar meu conhecimento para capacitar os alunos por meio de Statorials. Saber mais\",\"sameAs\":[\"https:\/\/statorials.org\/pt\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Valida\u00e7\u00e3o cruzada K-Fold em R (passo a passo)","description":"Este tutorial explica como realizar a valida\u00e7\u00e3o cruzada k-fold em R, incluindo um exemplo passo a 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\/pt\/validacao-cruzada-k-fold-em-r\/","og_locale":"pt_PT","og_type":"article","og_title":"Valida\u00e7\u00e3o cruzada K-Fold em R (passo a passo)","og_description":"Este tutorial explica como realizar a valida\u00e7\u00e3o cruzada k-fold em R, incluindo um exemplo passo a passo.","og_url":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/","og_site_name":"Statorials","article_published_time":"2023-07-27T09:44:39+00:00","author":"Dr. benjamim anderson","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Dr. benjamim anderson","Tempo estimado de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/","url":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/","name":"Valida\u00e7\u00e3o cruzada K-Fold em R (passo a passo)","isPartOf":{"@id":"https:\/\/statorials.org\/pt\/#website"},"datePublished":"2023-07-27T09:44:39+00:00","dateModified":"2023-07-27T09:44:39+00:00","author":{"@id":"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666"},"description":"Este tutorial explica como realizar a valida\u00e7\u00e3o cruzada k-fold em R, incluindo um exemplo passo a passo.","breadcrumb":{"@id":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Lar","item":"https:\/\/statorials.org\/pt\/"},{"@type":"ListItem","position":2,"name":"Valida\u00e7\u00e3o cruzada k-fold em r (passo a passo)"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/pt\/#website","url":"https:\/\/statorials.org\/pt\/","name":"Statorials","description":"O seu guia para a literacia estat\u00edstica!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/pt\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666","name":"Dr. benjamim anderson","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/statorials.org\/pt\/#\/schema\/person\/image\/","url":"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Dr. benjamim anderson"},"description":"Ol\u00e1, sou Benjamin, um professor aposentado de estat\u00edstica que se tornou professor dedicado na Statorials. Com vasta experi\u00eancia e conhecimento na \u00e1rea de estat\u00edstica, estou empenhado em compartilhar meu conhecimento para capacitar os alunos por meio de Statorials. Saber mais","sameAs":["https:\/\/statorials.org\/pt"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/posts\/1176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/comments?post=1176"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/posts\/1176\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/media?parent=1176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/categories?post=1176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/tags?post=1176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}