{"id":5952,"date":"2026-04-18T09:08:43","date_gmt":"2026-04-18T12:08:43","guid":{"rendered":"https:\/\/thiagorossi.com.br\/blog\/?p=5952"},"modified":"2026-04-18T09:44:46","modified_gmt":"2026-04-18T12:44:46","slug":"limpando-os-dados-no-rubix-ml","status":"publish","type":"post","link":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/","title":{"rendered":"Limpando os Dados no Rubix ML"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>\n<p class=\"has-medium-font-size wp-block-paragraph\">Limpando os Dados no Rubix ML: Voc\u00ea j\u00e1 ouviu a frase <em>&#8220;Garbage in, garbage out&#8221;<\/em> (Lixo entra, lixo sai)? No universo do Machine Learning, ela \u00e9 a lei suprema. Voc\u00ea pode escolher o algoritmo mais sofisticado do mundo, mas se os seus dados estiverem &#8220;sujos&#8221; \u2014 com buracos, escalas desproporcionais ou formatos que o computador n\u00e3o entende \u2014 sua previs\u00e3o ser\u00e1 um desastre.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Como especialista em <strong>Rubix ML<\/strong>, preparei este quarto artigo para apresentar a &#8220;refinaria&#8221; dos seus dados. Vamos aprender a usar os <strong>Transformers<\/strong>: ferramentas essenciais para limpar, converter e normalizar suas informa\u00e7\u00f5es, garantindo que sua intelig\u00eancia artificial receba apenas o melhor combust\u00edvel poss\u00edvel.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">Limpando os Dados (Transformers): A Refinaria do Machine Learning com PHP<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Limpando os Dados no Rubix ML: Em um mundo ideal, seus datasets seriam perfeitos. No mundo real, os dados s\u00e3o bagun\u00e7ados. Um usu\u00e1rio esquece de preencher a idade, outro escreve o n\u00edvel de experi\u00eancia como &#8220;S\u00eanior&#8221; (texto) enquanto o algoritmo espera n\u00fameros, e as faixas salariais variam de R$ 2.000 a R$ 20.000, confundindo a cabe\u00e7a do modelo.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Os <strong>Transformers<\/strong> do Rubix ML s\u00e3o objetos que aplicam transforma\u00e7\u00f5es estruturais nas amostras do seu dataset. Eles preparam o terreno para que o modelo foque no que realmente importa: encontrar padr\u00f5es.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">1. Lidando com Buracos: O Imputer<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Dados faltantes (os famosos <code>null<\/code> ou <code>NaN<\/code>) s\u00e3o o pesadelo de qualquer estimador. Se voc\u00ea tentar treinar um modelo com um valor ausente, ele provavelmente lan\u00e7ar\u00e1 uma exce\u00e7\u00e3o ou produzir\u00e1 um vi\u00e9s incorreto.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O <strong>Imputer<\/strong> \u00e9 o transformer respons\u00e1vel por &#8220;preencher os vazios&#8221; de forma inteligente. Em vez de simplesmente deletar a linha inteira (o que faria voc\u00ea perder dados preciosos), o Imputer pode substituir o valor faltante por:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>M\u00e9dia (Mean):<\/strong> A m\u00e9dia aritm\u00e9tica da coluna.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Mediana (Median):<\/strong> O valor central da coluna.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Mais frequente (Most Frequent):<\/strong> Ideal para categorias (strings).<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Constante:<\/strong> Um valor fixo que voc\u00ea definir.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Exemplo Pr\u00e1tico:<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>use Rubix\\ML\\Transformers\\Imputer;\nuse Rubix\\ML\\Strategies\\Mean;\n\n\/\/ Se o usu\u00e1rio n\u00e3o preencheu a idade, usamos a m\u00e9dia de idade do dataset\n$transformer = new Imputer(null, new Mean());\n\n$dataset-&gt;apply($transformer);\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">2. Traduzindo Texto para N\u00fameros: OneHotEncoder<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Algoritmos de Machine Learning s\u00e3o, no fundo, calculadoras gigantes. Eles amam n\u00fameros e odeiam textos. Como explicar para uma f\u00f3rmula matem\u00e1tica que o candidato mora em &#8220;S\u00e3o Jos\u00e9 do Rio Preto&#8221; ou &#8220;S\u00e3o Paulo&#8221;?<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Voc\u00ea poderia pensar em converter para n\u00fameros simples (1 para Rio Preto, 2 para SP), mas isso criaria um problema: o algoritmo acharia que S\u00e3o Paulo (2) \u00e9 &#8220;maior&#8221; ou &#8220;melhor&#8221; que Rio Preto (1) apenas por causa do valor.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O <strong>OneHotEncoder<\/strong> resolve isso criando colunas bin\u00e1rias (0 ou 1) para cada categoria.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Original:<\/strong> [Cidade: Rio Preto]<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Transformado:<\/strong> [Cidade_RioPreto: 1, Cidade_SP: 0]<\/li>\n<\/ul>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Exemplo Pr\u00e1tico:<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>use Rubix\\ML\\Transformers\\OneHotEncoder;\n\n\/\/ Transforma colunas categ\u00f3ricas em vetores bin\u00e1rios\n$transformer = new OneHotEncoder();\n\n$dataset-&gt;apply($transformer);\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">3. Equilibrando a Balan\u00e7a: StandardScaler<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Imagine que seu dataset tem duas colunas: <strong>Idade<\/strong> (que varia de 18 a 60) e <strong>Sal\u00e1rio Anual<\/strong> (que varia de 30.000 a 200.000).<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Para muitos algoritmos, o valor &#8220;200.000&#8221; \u00e9 t\u00e3o maior que &#8220;60&#8221; que ele passar\u00e1 a ignorar a idade, achando que o sal\u00e1rio \u00e9 a \u00fanica vari\u00e1vel que importa.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O <strong>StandardScaler<\/strong> (Padroniza\u00e7\u00e3o) centraliza os dados para que a m\u00e9dia seja 0 e o desvio padr\u00e3o seja 1. Isso coloca todas as caracter\u00edsticas na mesma escala, sem perder a propor\u00e7\u00e3o entre elas.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Exemplo Pr\u00e1tico:<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>use Rubix\\ML\\Transformers\\StandardScaler;\n\n$transformer = new StandardScaler();\n\n$dataset-&gt;apply($transformer);\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">4. Onde Aplicar? Exemplo Real em sistema de candidatos de emprego<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Vamos aplicar esses tr\u00eas transformers em um problema real: prever se um candidato tem chances de ser contratado.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Dados de Entrada:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Experi\u00eancia (anos):<\/strong> Num\u00e9rico, mas com alguns valores faltantes.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>N\u00edvel de Ingl\u00eas:<\/strong> Categ\u00f3rico (&#8220;B\u00e1sico&#8221;, &#8220;Intermedi\u00e1rio&#8221;, &#8220;Avan\u00e7ado&#8221;).<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Pretens\u00e3o Salarial:<\/strong> Num\u00e9rico (valores altos).<\/li>\n<\/ul>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00f3digo Completo da &#8220;Refinaria&#8221;:<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>use Rubix\\ML\\Datasets\\Labeled;\nuse Rubix\\ML\\Pipeline;\nuse Rubix\\ML\\Transformers\\Imputer;\nuse Rubix\\ML\\Transformers\\OneHotEncoder;\nuse Rubix\\ML\\Transformers\\StandardScaler;\nuse Rubix\\ML\\Strategies\\Median;\nuse Rubix\\ML\\Classifiers\\SoftmaxClassifier;\n\n\/\/ 1. Criamos o Pipeline (nossa linha de produ\u00e7\u00e3o)\n$estimator = new Pipeline(&#91;\n    \/\/ Primeiro: Preenchemos anos de experi\u00eancia faltantes com a mediana\n    new Imputer(null, new Median()),\n    \n    \/\/ Segundo: Convertemos o \"N\u00edvel de Ingl\u00eas\" em colunas bin\u00e1rias\n    new OneHotEncoder(),\n    \n    \/\/ Terceiro: Colocamos Experi\u00eancia e Sal\u00e1rio na mesma escala\n    new StandardScaler(),\n], new SoftmaxClassifier());\n\n\/\/ 2. Treinamento\n\/\/ O Pipeline aplicar\u00e1 automaticamente as transforma\u00e7\u00f5es antes de entregar ao Softmax\n$estimator-&gt;train($dataset);\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">5. Por que usar Pipeline em vez de apply()?<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Embora voc\u00ea possa usar <code>$dataset-&gt;apply($transformer)<\/code> manualmente, a melhor pr\u00e1tica profissional \u00e9 o <strong>Pipeline<\/strong>.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Por que? Porque quando voc\u00ea for fazer uma predi\u00e7\u00e3o para um novo usu\u00e1rio, o Pipeline lembrar\u00e1 da &#8220;m\u00e9dia&#8221; e do &#8220;desvio padr\u00e3o&#8221; do treinamento original e aplicar\u00e1 exatamente os mesmos c\u00e1lculos no novo dado. Se voc\u00ea fizer manual, ter\u00e1 que guardar esses valores em algum lugar, o que \u00e9 um convite para bugs.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">6. Boas Pr\u00e1ticas na Limpeza de Dados<\/h2>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Analise antes de limpar:<\/strong> Use o m\u00e9todo <code>$dataset->describe()<\/code> para ver quantos valores nulos existem. Se uma coluna tem 90% de dados nulos, talvez seja melhor remov\u00ea-la em vez de tentar preencher.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Ordem importa:<\/strong> Sempre use o <code>Imputer<\/code> antes de outros transformers. N\u00e3o d\u00e1 para calcular a m\u00e9dia (StandardScaler) de uma coluna que tem valores nulos.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Cuidado com a Cardinalidade:<\/strong> Usar <code>OneHotEncoder<\/code> em uma coluna com 5.000 cidades diferentes criar\u00e1 5.000 novas colunas, o que pode explodir o uso de mem\u00f3ria. Nesses casos, prefira outras t\u00e9cnicas ou agrupe os dados antes.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>A Estrela Solit\u00e1ria:<\/strong> Lembre-se que o Label (r\u00f3tulo) geralmente n\u00e3o precisa ser transformado por esses m\u00e9todos, apenas as Samples (caracter\u00edsticas).<\/li>\n<\/ol>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">Conclus\u00e3o: De Dados Brutos a Ouro Digital<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Limpando os Dados no Rubix ML: Aprender a manipular <strong>Transformers<\/strong> como o <strong>Imputer<\/strong>, <strong>OneHotEncoder<\/strong> e <strong>StandardScaler<\/strong> \u00e9 o que separa um programador que &#8220;roda scripts&#8221; de um verdadeiro <strong>Engenheiro de Machine Learning<\/strong>. No Rubix ML, essa etapa de pr\u00e9-processamento \u00e9 onde voc\u00ea realmente ganha a batalha pela acur\u00e1cia.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Ao limpar seus dados de forma profissional, voc\u00ea garante que seu modelo seja justo, robusto e, acima de tudo, \u00fatil para o mundo real. Seja no seu blog ou em sistemas complexos como um sistema de candidatos de empregos, o segredo da intelig\u00eancia artificial n\u00e3o est\u00e1 apenas no c\u00e9rebro (algoritmo), mas na higiene dos dados que ela consome.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">No pr\u00f3ximo artigo, daremos um salto estrat\u00e9gico: <strong>&#8220;Engenharia de Atributos: Como selecionar as melhores caracter\u00edsticas para evitar ru\u00eddos.&#8221;<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Mas antes de dominar o Rubix ML, se este for o seu caso, entendemos que toda jornada tem um in\u00edcio. Vamos entender quais s\u00e3o os conhecimentos b\u00e1sicos necess\u00e1rios para aproveitar ao m\u00e1ximo esta poderosa biblioteca. Para iniciar seus estudos do Rubix ML, voc\u00ea precisar\u00e1 dominar as seguintes tecnologias e\/ou framework:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/php\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP.png\" alt=\"Capa Curso PHP\" class=\"wp-image-2835\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP.png 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP-300x169.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">PHP<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/sql\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2.webp\" alt=\"SQL\" class=\"wp-image-942\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">SQL<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/laravel\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp\" alt=\"Laravel\" class=\"wp-image-1642\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">Laravel<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/cakephp\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png\" alt=\"CakePHP\" class=\"wp-image-5819\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp-300x169.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">CakePHP<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">E se voc\u00ea gosta do nosso conte\u00fado, n\u00e3o deixe de contribuir adquirindo os servi\u00e7os e produtos dos nossos apoiadores e empresas que somos associados.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hostinger.com.br\/?REFERRALCODE=1THIAGO62\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/03\/hostinger.png\" alt=\"Hospedagem Hostinger\" class=\"wp-image-92\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNDYlc\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/ofertas-amazon.webp\" alt=\"Ofertas Amazon\" class=\"wp-image-1308\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNKmt0\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/amazonprime.webp\" alt=\"Amazon Prime\" class=\"wp-image-1307\"\/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Dica de Especialista:<\/strong> Explore o transformer <code>MaxAbsScaler<\/code> se o seu dataset tiver muitos zeros (dados esparsos). Ele \u00e9 uma alternativa excelente ao StandardScaler para manter a estrutura de zeros intacta enquanto escala os valores!<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>Limpando os Dados no Rubix ML: Voc\u00ea j\u00e1 ouviu a frase &#8220;Garbage in, garbage out&#8221;&#8230;<\/p>\n","protected":false},"author":1,"featured_media":5935,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[98],"tags":[],"class_list":["post-5952","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rubix-ml","wpcat-98-id"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Limpando os Dados no Rubix ML - BLOG THIAGO ROSSI<\/title>\n<meta name=\"description\" content=\"Limpando os Dados no Rubix ML: Em um mundo ideal, seus datasets seriam perfeitos. No mundo real, os dados s\u00e3o bagun\u00e7ados. O usu\u00e1rio esquece..\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Limpando os Dados no Rubix ML - BLOG THIAGO ROSSI\" \/>\n<meta property=\"og:description\" content=\"Limpando os Dados no Rubix ML: Em um mundo ideal, seus datasets seriam perfeitos. No mundo real, os dados s\u00e3o bagun\u00e7ados. O usu\u00e1rio esquece..\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/\" \/>\n<meta property=\"og:site_name\" content=\"BLOG THIAGO ROSSI\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-18T12:08:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-18T12:44:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png\" \/>\n\t<meta property=\"og:image:width\" content=\"758\" \/>\n\t<meta property=\"og:image:height\" content=\"426\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Thiago Rossi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thiago Rossi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/\"},\"author\":{\"name\":\"Thiago Rossi\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\"},\"headline\":\"Limpando os Dados no Rubix ML\",\"datePublished\":\"2026-04-18T12:08:43+00:00\",\"dateModified\":\"2026-04-18T12:44:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/\"},\"wordCount\":1059,\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"articleSection\":[\"Rubix ML\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/\",\"name\":\"Limpando os Dados no Rubix ML - BLOG THIAGO ROSSI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"datePublished\":\"2026-04-18T12:08:43+00:00\",\"dateModified\":\"2026-04-18T12:44:46+00:00\",\"description\":\"Limpando os Dados no Rubix ML: Em um mundo ideal, seus datasets seriam perfeitos. No mundo real, os dados s\u00e3o bagun\u00e7ados. O usu\u00e1rio esquece..\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"width\":758,\"height\":426,\"caption\":\"Rubix ML\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/limpando-os-dados-no-rubix-ml\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Limpando os Dados no Rubix ML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"name\":\"THIAGO ROSSI\",\"description\":\"Mais de 20 anos de experi\u00eancia no mercado de TI!\",\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"alternateName\":\"TR | CURSO WEB DEV\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\",\"name\":\"THIAGO ROSSI\",\"alternateName\":\"TR | CURSO WEB DEV\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"width\":300,\"height\":300,\"caption\":\"THIAGO ROSSI\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\",\"name\":\"Thiago Rossi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"caption\":\"Thiago Rossi\"},\"description\":\"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \\\"GDD \u2013 O Guia Definitivo\\\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.\",\"sameAs\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\",\"https:\\\/\\\/instagram.com\\\/thiagorossix86\",\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"],\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/author\\\/thiagorossi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Limpando os Dados no Rubix ML - BLOG THIAGO ROSSI","description":"Limpando os Dados no Rubix ML: Em um mundo ideal, seus datasets seriam perfeitos. No mundo real, os dados s\u00e3o bagun\u00e7ados. O usu\u00e1rio esquece..","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:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/","og_locale":"pt_BR","og_type":"article","og_title":"Limpando os Dados no Rubix ML - BLOG THIAGO ROSSI","og_description":"Limpando os Dados no Rubix ML: Em um mundo ideal, seus datasets seriam perfeitos. No mundo real, os dados s\u00e3o bagun\u00e7ados. O usu\u00e1rio esquece..","og_url":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/","og_site_name":"BLOG THIAGO ROSSI","article_published_time":"2026-04-18T12:08:43+00:00","article_modified_time":"2026-04-18T12:44:46+00:00","og_image":[{"width":758,"height":426,"url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","type":"image\/png"}],"author":"Thiago Rossi","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Thiago Rossi","Est. tempo de leitura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/#article","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/"},"author":{"name":"Thiago Rossi","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87"},"headline":"Limpando os Dados no Rubix ML","datePublished":"2026-04-18T12:08:43+00:00","dateModified":"2026-04-18T12:44:46+00:00","mainEntityOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/"},"wordCount":1059,"publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","articleSection":["Rubix ML"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/","url":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/","name":"Limpando os Dados no Rubix ML - BLOG THIAGO ROSSI","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/#primaryimage"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","datePublished":"2026-04-18T12:08:43+00:00","dateModified":"2026-04-18T12:44:46+00:00","description":"Limpando os Dados no Rubix ML: Em um mundo ideal, seus datasets seriam perfeitos. No mundo real, os dados s\u00e3o bagun\u00e7ados. O usu\u00e1rio esquece..","breadcrumb":{"@id":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/#primaryimage","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","width":758,"height":426,"caption":"Rubix ML"},{"@type":"BreadcrumbList","@id":"https:\/\/thiagorossi.com.br\/blog\/limpando-os-dados-no-rubix-ml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thiagorossi.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Limpando os Dados no Rubix ML"}]},{"@type":"WebSite","@id":"https:\/\/thiagorossi.com.br\/blog\/#website","url":"https:\/\/thiagorossi.com.br\/blog\/","name":"THIAGO ROSSI","description":"Mais de 20 anos de experi\u00eancia no mercado de TI!","publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"alternateName":"TR | CURSO WEB DEV","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thiagorossi.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/thiagorossi.com.br\/blog\/#organization","name":"THIAGO ROSSI","alternateName":"TR | CURSO WEB DEV","url":"https:\/\/thiagorossi.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","width":300,"height":300,"caption":"THIAGO ROSSI"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/linkedin.com\/in\/thiagox86"]},{"@type":"Person","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87","name":"Thiago Rossi","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","caption":"Thiago Rossi"},"description":"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \"GDD \u2013 O Guia Definitivo\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.","sameAs":["https:\/\/thiagorossi.com.br\/blog","https:\/\/instagram.com\/thiagorossix86","https:\/\/linkedin.com\/in\/thiagox86"],"url":"https:\/\/thiagorossi.com.br\/blog\/author\/thiagorossi\/"}]}},"_links":{"self":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/5952","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/comments?post=5952"}],"version-history":[{"count":4,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/5952\/revisions"}],"predecessor-version":[{"id":5957,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/5952\/revisions\/5957"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media\/5935"}],"wp:attachment":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media?parent=5952"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/categories?post=5952"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/tags?post=5952"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}