{"id":1177,"date":"2023-07-27T09:36:52","date_gmt":"2023-07-27T09:36:52","guid":{"rendered":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/"},"modified":"2023-07-27T09:36:52","modified_gmt":"2023-07-27T09:36:52","slug":"validacao-cruzada-k-fold-em-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/","title":{"rendered":"Valida\u00e7\u00e3o cruzada k-fold em python (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;\">Este tutorial fornece um exemplo passo a passo de como realizar a valida\u00e7\u00e3o cruzada k-fold para um determinado modelo em Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Etapa 1: carregue as bibliotecas necess\u00e1rias<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Primeiro, carregaremos as fun\u00e7\u00f5es e bibliotecas necess\u00e1rias para este exemplo:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> train_test_split\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> KFold\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> cross_val_score\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">linear_model<\/span> <span style=\"color: #008000;\">import<\/span> LinearRegression\n<span style=\"color: #008000;\">from<\/span> numpy <span style=\"color: #008000;\">import<\/span> means\n<span style=\"color: #008000;\">from<\/span> numpy <span style=\"color: #008000;\">import<\/span> absolute\n<span style=\"color: #008000;\">from<\/span> numpy <span style=\"color: #008000;\">import<\/span> sqrt\n<span style=\"color: #008000;\">import<\/span> pandas <span style=\"color: #008000;\">as<\/span> pd\n<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Etapa 2: crie os dados<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">A seguir, criaremos um DataFrame do pandas que cont\u00e9m duas vari\u00e1veis preditoras, <sub>x1<\/sub> e <sub>x2<\/sub> , e uma \u00fanica vari\u00e1vel de resposta y.<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong>df = pd.DataFrame({' <span style=\"color: #008000;\">y<\/span> ': [6, 8, 12, 14, 14, 15, 17, 22, 24, 23],\n                   ' <span style=\"color: #008000;\">x1<\/span> ': [2, 5, 4, 3, 4, 6, 7, 5, 8, 9],\n                   ' <span style=\"color: #008000;\">x2<\/span> ': [14, 12, 12, 13, 7, 8, 7, 4, 6, 5]})\n<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Etapa 3: realizar valida\u00e7\u00e3o cruzada K-Fold<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">A seguir, ajustaremos um <a href=\"https:\/\/statorials.org\/pt\/regressao-linear-python\/\" target=\"_blank\" rel=\"noopener noreferrer\">modelo de regress\u00e3o linear m\u00faltipla<\/a> ao conjunto de dados e realizaremos LOOCV para avaliar o desempenho do modelo.<\/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 = df[[' <span style=\"color: #008000;\">x1<\/span> ', ' <span style=\"color: #008000;\">x2<\/span> ']]\ny = df[' <span style=\"color: #008000;\">y<\/span> ']\n\n<span style=\"color: #008080;\">#define cross-validation method to use\n<\/span><span class=\"crayon-v\">cv<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-e\">KFold<\/span> <span class=\"crayon-sy\">(<\/span> <span class=\"crayon-v\">n_splits<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-cn\" style=\"color: #008000;\">10<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">random_state<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-cn\" style=\"color: #008000;\">1<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">shuffle<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-t\" style=\"color: #008000;\">True<\/span> <span class=\"crayon-sy\">)<\/span>\n\n<span style=\"color: #008080;\">#build multiple linear regression model\n<\/span>model = LinearRegression()\n\n<span style=\"color: #008080;\">#use k-fold CV to evaluate model\n<\/span>scores = cross_val_score(model, X, y, scoring=' <span style=\"color: #008000;\">neg_mean_absolute_error<\/span> ',\n                         cv=cv, n_jobs=-1)\n\n<span style=\"color: #008080;\">#view mean absolute error\n<\/span>mean(absolute(scores))\n\n3.6141267491803646\n<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Pelo resultado, podemos perceber que o erro absoluto m\u00e9dio (MAE) foi de <strong>3,614<\/strong> . Ou seja, o erro absoluto m\u00e9dio entre a previs\u00e3o do modelo e os dados efetivamente observados \u00e9 3,614.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Em geral, quanto menor o MAE, melhor o modelo \u00e9 capaz de prever as observa\u00e7\u00f5es reais.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Outra m\u00e9trica comumente usada para avaliar o desempenho do modelo \u00e9 a raiz do erro quadr\u00e1tico m\u00e9dio (RMSE). O c\u00f3digo a seguir mostra como calcular essa m\u00e9trica usando LOOCV:<\/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 = df[[' <span style=\"color: #008000;\">x1<\/span> ', ' <span style=\"color: #008000;\">x2<\/span> ']]\ny = df[' <span style=\"color: #008000;\">y<\/span> ']\n\n<span style=\"color: #008080;\">#define cross-validation method to use\n<\/span><span class=\"crayon-v\">cv<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-e\">KFold<\/span> <span class=\"crayon-sy\">(<\/span> <span class=\"crayon-v\">n_splits<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-cn\" style=\"color: #008000;\">5<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">random_state<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-cn\" style=\"color: #008000;\">1<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">shuffle<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-t\" style=\"color: #008000;\">True<\/span> <span class=\"crayon-sy\">)<\/span> \n\n<span style=\"color: #008080;\">#build multiple linear regression model\n<\/span>model = LinearRegression()\n\n<span style=\"color: #008080;\">#use LOOCV to evaluate model\n<\/span>scores = cross_val_score(model, X, y, scoring=' <span style=\"color: #008000;\">neg_mean_squared_error<\/span> ',\n                         cv=cv, n_jobs=-1)\n\n<span style=\"color: #008080;\">#view RMSE\n<\/span>sqrt(mean(absolute(scores)))\n\n4.284373111711816<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">A partir do resultado, podemos ver que a raiz do erro quadr\u00e1tico m\u00e9dio (RMSE) foi <strong>4,284<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Quanto menor o RMSE, melhor o modelo \u00e9 capaz de prever as observa\u00e7\u00f5es reais.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Na pr\u00e1tica, normalmente ajustamos v\u00e1rios modelos diferentes e comparamos o RMSE ou MAE de cada modelo 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;\">Observe tamb\u00e9m que neste exemplo optamos por usar k=5 dobras, mas voc\u00ea pode escolher qualquer n\u00famero de dobras que desejar.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Na pr\u00e1tica, normalmente escolhemos entre 5 e 10 camadas, pois este \u00e9 o n\u00famero ideal de camadas que produz taxas de erro de teste confi\u00e1veis.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><em>Voc\u00ea pode encontrar a documenta\u00e7\u00e3o completa da fun\u00e7\u00e3o KFold() do sklearn <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.model_selection.KFold.html\" target=\"_blank\" rel=\"noopener noreferrer\">aqui<\/a> .<\/em><\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Recursos adicionais<\/strong><\/span><\/h3>\n<p> <a href=\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold\/\" target=\"_blank\" rel=\"noopener noreferrer\">Uma introdu\u00e7\u00e3o \u00e0 valida\u00e7\u00e3o cruzada K-Fold<\/a><br \/> <a href=\"https:\/\/statorials.org\/pt\/regressao-linear-python\/\" target=\"_blank\" rel=\"noopener noreferrer\">Um guia completo para regress\u00e3o linear em Python<\/a><br \/> <a href=\"https:\/\/statorials.org\/pt\/deixe-sair-a-validacao-cruzada-em-python\/\" target=\"_blank\" rel=\"noopener noreferrer\">Valida\u00e7\u00e3o cruzada Leave-One-Out em Python<\/a><\/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-1177","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 Python (passo a passo) - Estatoriais<\/title>\n<meta name=\"description\" content=\"Este tutorial explica como realizar a valida\u00e7\u00e3o cruzada k-fold em Python, 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-python\/\" \/>\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 Python (passo a passo) - Estatoriais\" \/>\n<meta property=\"og:description\" content=\"Este tutorial explica como realizar a valida\u00e7\u00e3o cruzada k-fold em Python, incluindo um exemplo passo a passo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T09:36:52+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-python\/\",\"url\":\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/\",\"name\":\"Valida\u00e7\u00e3o cruzada K-Fold em Python (passo a passo) - Estatoriais\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/pt\/#website\"},\"datePublished\":\"2023-07-27T09:36:52+00:00\",\"dateModified\":\"2023-07-27T09:36:52+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 Python, incluindo um exemplo passo a passo.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/#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 python (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 Python (passo a passo) - Estatoriais","description":"Este tutorial explica como realizar a valida\u00e7\u00e3o cruzada k-fold em Python, 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-python\/","og_locale":"pt_PT","og_type":"article","og_title":"Valida\u00e7\u00e3o cruzada K-Fold em Python (passo a passo) - Estatoriais","og_description":"Este tutorial explica como realizar a valida\u00e7\u00e3o cruzada k-fold em Python, incluindo um exemplo passo a passo.","og_url":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/","og_site_name":"Statorials","article_published_time":"2023-07-27T09:36:52+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-python\/","url":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/","name":"Valida\u00e7\u00e3o cruzada K-Fold em Python (passo a passo) - Estatoriais","isPartOf":{"@id":"https:\/\/statorials.org\/pt\/#website"},"datePublished":"2023-07-27T09:36:52+00:00","dateModified":"2023-07-27T09:36:52+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 Python, incluindo um exemplo passo a passo.","breadcrumb":{"@id":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/pt\/validacao-cruzada-k-fold-em-python\/#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 python (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\/1177","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=1177"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/posts\/1177\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/media?parent=1177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/categories?post=1177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/tags?post=1177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}