O processo de visualização de dados consiste na representação de dados de forma mais eficiente e que possibilite um melhor entendimento do problema em questão, normalmente através de gráficos, tabelas e dashboards.
Essa prática é de grande importância no ambiente de negócios para auxílio na tomada de decisões e de planejamento estratégico. Entretanto, representar dados complexos de uma forma visual simples e que chame a atenção não é uma tarefa fácil.
Por isso, este texto irá abordar algumas boas práticas para visualização de dados que podem alavancar o processo de comunicação — podendo ser adotado por times de dados, gerência, marketing, comercial, entre outros.
4 boas práticas para visualização de dados
A seguir serão apresentadas algumas boas práticas para o processo de visualização de dados.
1. Entendimento do contexto
O primeiro passo para uma boa visualização de dados é entender o contexto do problema. Antes de sair procurando os melhores gráficos para representar os dados, é preciso entender o público que irá visualizar as informações, de forma a saber quais os pontos esse público considera importante e as melhores formas de chamar a atenção para aquilo que se deseja transmitir.
Além disso, é necessário ter uma visão clara e objetiva do que será o foco da visualização. Boas reflexões para serem feitas para entender o contexto são: o que a pessoa deseja? Quais dúvidas ela pode ter? A minha visualização cobre essas questões?
2. Escolha da visualização adequada
Existem diversas formas de visualização de dados e cada uma é desenvolvida para atender a um determinado propósito. Por exemplo, se eu estou analisando duas variáveis e gostaria de mostrar de forma visual a correlação entre elas, um gráfico de dispersão (scatter plot) atende muito bem esse propósito.
Exemplo de Gráfico de Dispersão
Para acompanhar séries temporais, um gráfico de linha é uma boa opção ou então podemos comparar e acompanhar duas variáveis utilizando um gráfico de barras. Nesse sentido, é necessário garantir que a visualização escolhida atende ao propósito do que se deseja comunicar.
Exemplo de gráfico de linhaExemplo de gráfico de barras
3. Simplicidade
É normal que queiramos visualizar uma grande quantidade de informações, entretanto, é preciso entender o que de fato é essencial para o contexto. Uma visualização com diversos gráficos e tabelas gera muita poluição visual e acaba desfocando a atenção e, no fim, nenhuma informação é transmitida direito.
Portanto, a ideia é: seja simples. Comunique o que precisa ser comunicado da maneira mais simples e direta possível, de forma a atender o contexto e comunicar através da visualização dos dados a ideia que se deseja transmitir.
4. Contar uma história
Uma prática muito boa e didática que auxilia muito na visualização dos dados e efetividade da comunicação é o storytelling. Essa atividade consiste na comunicação através de uma história com o auxílio da visualização dos dados.
Dessa forma, é possível montar uma visualização que tenha uma lógica e apresente as informações em uma sequência que faça com que o público alvo absorva as informações da melhor maneira possível.
Conclusão – Boas práticas para visualização de dados
A visualização de dados é uma ferramenta muito poderosa para tirar insights e compreender melhor os dados. Além disso, também atua como um instrumento de comunicação e planejamento. Neste texto, pudemos ver algumas boas práticas que ajudam a desenvolver uma boa visualização de dados. De forma complementar, fica a sugestão de um excelente livro sobre este assunto, chamado de Storytelling with data, da autora Cole Nussbaumer Knaflic.
Cientista de dados na Aquarela. Graduado em engenharia elétrica pela UFSC. Entusiasta nas áreas de ciência de dados, aprendizado de máquina e processamento de sinais.
O desenvolvimento de soluções que fazem uso de inteligência artificial (IA) está intimamente ligado aos dados que estas soluções utilizam. Na era da transformação digital, a qualidade dos dados (data quality) desempenha um papel essencial nas tomadas de decisões e gera valor para o negócio.
Nesse contexto, o processamento dos dados utilizados na construção da IA tem uma notável importância para garantir seu bom funcionamento. Neste conteúdo, iremos falar sobre limpeza e estruturação de dados e sua relevância no processo de elaboração de soluções em IA.
Limpeza de dados
A limpeza de dados (data cleaning ou data cleansing) é um dos processos que garantem uma boa qualidade dos dados utilizados para estratégias de decisão e que geram valor. Esse processo se baseia em corrigir, remover, selecionar e padronizar os dados de uma determinada fonte.
A Tabela 1 apresenta um exemplo fictício da quantidade de itens vendidos por uma loja em determinados meses. É possível notar que a representação da quantidade de itens vendidos está na forma decimal; entretanto, sabemos que esse valor é sempre um número inteiro.
Além disso, o mês de maio apresenta valor duplicado. Sendo assim, o processo de limpeza de dados para este exemplo seria converter a coluna “Quantidade de itens vendidos no mês” para valores inteiros e remover o valor duplicado do mês de maio da tabela.
Tabela 1 – Exemplo de dados a serem corrigidos
Data
Quantidade de itens vendidos no mês
01/01
20,00
01/02
18,00
01/03
5,00
01/04
4,00
01/05
6,00
01/05
6,00
Tabela 1
Alguns outros problemas que poderiam ocorrer nesse exemplo e que deveriam ser corrigidos são: valor de vendas negativo e valor de vendas em branco (sem valor).
Diferentes estratégias podem ser adotadas no processo de limpeza de dados. Tais estratégias são definidas pelos responsáveis pelo procedimento em conjunto com o conhecimento do problema de negócio em questão.
Estruturação de dados
Outro ponto importante no processamento de dados é sua estruturação. De forma simplificada, damos o nome de estruturação às diversas formas de organização e agrupamento de dados. Todo esse processo depende muito de questões como eficiência de busca, volume e relacionamento entre dados e deve ser levado em consideração na criação de banco de dados no desenvolvimento de soluções de IA. Além disso, a estruturação de dados também tem o objetivo de realizar operações como inserção/exclusão, busca e ordenação.
Esse tópico é de muita importância no desenvolvimento de aplicações de inteligência artificial e possibilita uma maior eficiência na utilização e processamento dos dados, além de também ser uma grande área de estudo no campo da ciência da computação.
Exemplo prático
O mercado livre de energia é um ambiente em que os consumidores podem negociar as condições de contratação de energia com os fornecedores, o que traz diversos benefícios. Um dos principais desafios dessa modalidade é prever com precisão a quantidade de energia que determinado consumidor irá consumir no futuro, para que este possa negociar um contrato com as melhores condições possíveis. Uma das soluções para esse problema é a previsão de séries temporais.
O histórico de consumo de energia elétrica de todos os consumidores inseridos no mercado livre de energia é disponibilizado publicamente na página da Câmara de Comercialização de Energia Elétrica (CCEE).
Sendo nosso objetivo prever o consumo de energia de determinado consumidor para os meses seguintes, com base no seu consumo histórico, precisamos garantir que os dados utilizados estejam com uma boa qualidade para que a previsão seja a melhor possível. Essa qualidade pode ser obtida através da limpeza e estruturação dos dados.
Inicialmente, é preciso analisar os dados disponíveis e identificar quais colunas das tabelas são essenciais para a tarefa a ser realizada. Posteriormente, é preciso analisar se essas colunas possuem algum tipo de problema como dados duplicados, erro de formatação, campos em branco, se o nome das colunas permanece o mesmo em todos os arquivos, entre outros.
Feitas as correções necessárias (limpeza dos dados), os dados selecionados para a previsão podem ser estruturados em uma tabela ou até mesmo em um banco relacional para que possam ser utilizados posteriormente no desenvolvimento da IA de previsão de consumo.
Dessa forma, podemos observar que as tarefas de limpeza e estruturação dos dados desempenham um papel essencial no desenvolvimento de uma aplicação de inteligência artificial, como, por exemplo, a previsão de consumo de energia elétrica através de séries temporais.
Conclusão – A importância do processamento de dados na IA
É notória a importância da utilização de dados para a construção de soluções em inteligência artificial. Além do mais, é necessário que os dados utilizados retratem bem o problema de negócio associado à solução desenhada e proposta. Nesse sentido, o processamento de dados desempenha uma função de suma importância para garantir o bom funcionamento dessas soluções.
Neste texto, foi possível entender um pouco dos procedimentos de limpeza e estruturação dos dados e como estes contribuem no processo de inteligência artificial e, também, analisar de forma prática a contextualização desses procedimentos.
Cientista de dados na Aquarela. Graduado em engenharia elétrica pela UFSC. Entusiasta nas áreas de ciência de dados, aprendizado de máquina e processamento de sinais.
Com a digitalização dos processos, um dos departamentos que não pode ficar de fora deste movimento é o de gestão de receitas e precificação (revenue / yieldmanagement). Ela pode estar ligado direta ou indiretamente às áreas financeiras, diretoria executiva, inteligência de mercado, comercial e marketing. Como impacto, haverá uma maior dinamização dos preços de produtos considerando um conjunto cada vez maior de fatores precificadores (itens de estratégia ou custo que definem os preços).
Dentre diversos fatores que podem ser selecionados para geração de preço (usando ou não algoritmos de precificação), encontra-se o estudo de elasticidade de preço da oferta ou da demanda. Portanto, neste artigo, vamos falar da importância dessa variável para a estratégia de negócio e da inserção dela em processos de precificação dinâmica inteligente (Dynamic Pricing o que é o quais seus benefícios?).
O que é a elasticidade de preço?
Podemos explicar a elasticidade de preço de diversas formas. Ela está relacionada aos estudos de economia/finanças e, mais especificamente, dentro da área de microeconomia, em que há um vasto material na internet sobre o tema, principalmente em inglês. Abaixo, criamos duas definições possíveis; uma simples e uma padrão:
Definição simples:
“A elasticidade mede o quanto mexe o ponteiro das vendas (quantidade) quando altero o preço. Portanto, há produtos que posso variar mais o preço do que outros. Cada produto ou serviço possui uma elasticidade em seu contexto de negócio e mudam ao longo do tempo.”
Definição detalhada:
“A elasticidade é uma medida (cálculo) que avalia a capacidade de resposta da quantidade demandada ou ofertada de um bem (produto) frente a uma mudança de seu preço. Esse conceito é empregado de forma similar para demanda e oferta, sendo o primeiro relacionado ao consumidor e o segundo ao produtor. O cálculo da elasticidade é dado pela razão entre a variação percentual da quantidade demandada (ou ofertada) pela variação percentual do preço. Uma boa maneira de se dividir a elasticidade é em três categorias: elasticidade elástica, elasticidade unitária e elasticidade inelástica”. (Khanacademy, 2022).
Tipos de elasticidade
Altamente inelástica
Produtos de demanda altamente inelástica são aqueles que os compradores não têm outra fonte ou outro produto concorrente para fazer a substituição. Por exemplo: itens básicos da alimentação e também a gasolina (combustíveis).
Características principais: produtos com baixa possibilidade ou tendência de serem trocados por itens substitutos.
Na figura abaixo, apresentamos um comparativo bastante simplificado mostrando o comportamento das vendas quando alteramos o preço ao longo do ano. Neste primeiro gráfico, temos uma situação de demanda inelástica que nos diz: independente do preço, as pessoas continuam consumindo o produto. Um dos exemplos mais clássicos de produtos com demanda inelástica são os combustíveis, que são de necessidade primária e não possuem substitutos de fácil troca.
Demanda elástica
Por outro lado, produtos com maior elasticidade-preço tendem a mudar o comportamento de compra quando se altera o valor. São exemplos importantes de produtos com alta sensibilidade ou elasticidade de preço os artigos de luxo, os eletrônicos e os produtos com alta concorrência.
Características principais: Produtos com alta possibilidade de serem trocados por substitutos.
Já neste outro diagrama, temos a variação do consumo (demanda) após as alterações de preço. Esse comportamento é mais comum e bastante intuitivo, entretanto é importante lembrar que cada produto tem a sua escala de sensibilidade e sua própria concorrência por produtos substitutos. Um exemplo é a carne de gado, que pode ser substituída por carne de porco, frango ou ovos em uma frequência de consumo semanal ou até diária.
Considerações
É importante ter em mente que a elasticidade da demanda é um indicador que reflete a variação da quantidade demandada pelos consumidores referente a uma variação de preço. Sendo assim, é necessário compreender que esse conceito pode e muito provavelmente irá variar ao longo do tempo, devido ao comportamento do consumidor (o que é considerado necessário ou desejado e o quanto ele está disposto a pagar). Por isso, colocamos no gráfico o eixo X como o tempo mensurado em meses.
Além da influência do comportamento humano, outros fatores podem influenciar no comportamento de compra, como, por exemplo, os diferentes grupos de consumidores. É lógico pensar que um grupo de consumidores com menor poder aquisitivo tende a ser mais influenciado pela variação de preço do que consumidores com maior poder aquisitivo. Dessa forma, o percentual que um produto representa na renda do consumidor também influencia na elasticidade.
O tipo de estabelecimento também exerce influência na decisão de compra do consumidor devido às diferenças de preço. Produtos alimentícios tendem a ser mais caros em restaurantes do que em supermercados, por exemplo. Sendo assim, é provável que a quantidade demandada por determinado produto alimentício seja diferente inclusive para o mesmo perfil de consumidor dado o tipo de estabelecimento.
Como a área de gestão de receitas pode se beneficiar da elasticidade do preço e da IA?
O objetivo da gestão de receita é calibrar o valor dos produtos em relação à sua quantidade disponível e a sensibilidade de interesse dos compradores (limitações). Em outras palavras, é uma constante busca por vender o produto certo, na quantidade certa no tempo certo.
A essência do trabalho de revenue management é estudar e reagir adequadamente à percepção dos clientes sobre o valor do produto sendo ofertado. Logo, notamos que o grau de complexidade da tarefa ultrapassa os limites da cognição humana rapidamente.
Tendo em vista a complexidade de gerenciar todos esses parâmetros, a utilização de soluções baseadas em dados e impulsionadas por inteligência artificial encontra um importante ramo de atuação. Por isso, a recomendação é a utilização de “Solução baseada em dados e impulsionada por Inteligência Artificial”.
Como a área de gestão de receitas é baseada em análises de dados em sua essência, o correto uso de entendimento do comportamento de preço colabora para a construção de processos ligados à precificação dinâmica, previsão de demanda, otimização de estoques por meio de simulações computacionais, dentre outros business cases.
Dessa forma, a utilização de inteligência artificial na gestão de receita propicia uma análise de dados complexos e inferências que possibilitam um acervo de informações para auxílio na tomada de decisões importantes para o gestor. Os modelos de precificação desenvolvidos pela Aquarela, por exemplo, cruzam dados de setores distintos para estabilizar e normalizar comportamentos de mercado e, então, apoiar da forma mais abrangente possível a alteração de preços dos produtos no tempo da movimentação do mercado.
O cálculo de elasticidade se apresenta como uma ferramenta importante para potencialização de receita. Essa medida permite que os responsáveis pela gestão de receitas tenham informações de como a demanda dos produtos reage a diferentes variações de preços.
Quais setores possuem potencial precificação baseada em elasticidade e IA?
Estas formas cada vez mais digitalizadas de quantificar a relação da oferta e da demanda afetam os principais setores econômicos, e podem ser empresas com as seguintes características:
Elevado número de produtos (SKUs);
Grandes quantidades de transação comercial pedidos;
Grande variedade de clientes e grupos de clientes (operações de larga escala);
Operações de vendas com grande cobertura territorial;
Mercados altamente competitivos e fases de digitalização.
Elasticidade de Preços – Conclusões e recomendações
Como vimos, a elasticidade é um atributo de grande importância para otimização de preço, receita, demanda e estoque.
Aqui apresentamos um pouco da nossa visão sobre o conceito e a utilização de elasticidade de demanda versus preço. Além disso, abordamos as oportunidades desse tipo de análise dentro dos processos de precificação dinâmica que utilizam Inteligência Artificial.
É possível perceber que diversas variáveis, como comportamento do consumidor, a variação de preço, influência cruzada de produtos, poder de compra e tipo de estabelecimento, influenciam no cálculo da elasticidade. Entretanto, por questões didáticas, simplificamos bastante as equações para focar nos impactos de negócio dessas abordagens. Toda a matemática e computação envolvida para a mensuração é bastante extensa e complexa e, por isso, há a necessidade de algoritmos de Inteligência Artificial nos times de gestão de negócios quando se fala em precificação.
Em nossa experiência, as decisões de preço se tornam muito mais adequadas ao contexto de negócio e às reuniões mais orientadas ao processo do que as influências diretas da percepção de cada um dos participantes, principalmente na percepção do comportamento do preço em itens com grande quantidade e operações de grande escala. Nesse sentido, escolher um bom fornecedor de Data Analytics e Inteligência Artificial pode ajudar no desenvolvimento desses modelos e também ser uma forma de aumentar a competitividade em menos tempo.
Cientista de dados na Aquarela. Graduado em engenharia elétrica pela UFSC. Entusiasta nas áreas de ciência de dados, aprendizado de máquina e processamento de sinais.
Fundador e Diretor Comercial da Aquarela, Mestre em Business Information Technology com especialização em logística – Universiteit Twente – Holanda. Escritor e palestrante na área de Ciência e Governança de Dados para indústria e serviços 4.0.
Web scraping é uma ferramenta que permite a coleta de dados automatizada de websites. Essa técnica possibilita a aquisição de grandes quantidades de dados em tempo reduzido, permitindo assim análises e estudos para desenvolvimento de modelos de inteligência artificial. Diversos setores fazem uso e se beneficiam dessa ferramenta, portanto vale a pena conferir melhor o que é, como funciona e qual é a sua utilidade.
Digamos que você queira obter informações de um site. Basta entrar nesse site, procurar a informação desejada e então copiá-la para um arquivo. Imagine agora que você precisa obter informações de dezenas de sites. O processo se torna muito mais demorado e cansativo de ser realizado manualmente. E se pudéssemos automatizar esse processo de busca, adquirindo e armazenando diversas informações de diversos sites distintos? É nesse cenário que entra o conceito de web scraping.
O que é web scraping?
Web scraping pode ser entendido como uma coleta de dados automatizada de websites. Dessa forma, é possível adquirir e armazenar grandes quantidades de dados disponíveis publicamente em diversos sites. Posteriormente, podemos utilizar esses dados para análise e obtenção de insights, comparação de dados, criação de modelos de inteligência artificial e outras aplicações. Alguns exemplos de dados coletados por web scraping podem ser preços de mercadorias, dados de monitoramento climático e ações.
Como funciona?
É muito comum que os dados de diversos sites sejam não estruturados, misturando informações de textos, imagens e links. Dessa forma, a utilização de web scraping converte esses dados para um formato estruturado, agrupando informações semelhantes em uma planilha, por exemplo, para melhor visualização e acesso.
O conceito básico envolvido no web scraping é:
Especificar o site do qual se deseja obter informações;
Solicitar o código HTML da página do site;
Identificar no código a marcação das informações a serem coletadas;
Salvar os dados no formato desejado.
Pode-se aplicar essa metodologia utilizando a linguagem de programação Python em conjunto com algumas bibliotecas voltadas para web scraping.
Qual a utilidade do web scraping?
Podemos utilizar o Web scraping em diversas áreas para a mesma finalidade: coleta de dados.
Pesquisa de mercado: é muito comum a utilização da coleta de dados automatizada para obtenção de informações de concorrentes, por exemplo: preço, vendas e demanda. Essas informações são de grande interesse para auxiliar na decisão de estratégias de precificação e promoções.
Monitoramento de notícias: outra aplicação é para obtenção e estruturação de notícias. Muitas empresas utilizam notícias para tomada de decisão, por isso é tão importante o monitoramento automatizado dessas informações.
Monitoramento do tempo: dados climáticos são de extrema importância para os setores agropecuário e de energia, tendo assim grande impacto em sua produção e geração. Diversas empresas utilizam a coleta de dados do tempo para a construção de modelos de inteligência artificial e tomada de decisão.
Sistemas de recomendação: grandes empresas de redes sociais coletam grandes quantidades de dados para o desenvolvimento de sistemas de recomendação de seus produtos para os usuários, considerando o seu histórico de buscas e interesses.
Conforme mencionado, o web scraping automatiza a coleta de dados e, posteriormente, utilizam-se esses dados para alguma finalidade dentre tantas áreas.
Web scraping – Considerações finais
Para uma grande geração de dados, é necessário ferramentas para lidar com coletas e armazenamento. A técnica de web scraping é amplamente utilizada por empresas para coletar e armazenar automaticamente grandes quantidades de dados de diversas fontes que são posteriormente utilizadas para o benefício da empresa.Vale ressaltar que o web scraping é uma ferramenta única para cada site, sendo que sua construção varia de acordo com o site a ser examinado. Além disso, se o site sofrer alguma atualização ou alteração, é muito possível que o scraper (código que implementa o web scraping) desse site também precise ser alterado. Portanto, apesar da facilidade trazida pelo scraper, é necessário um constante monitoramento para garantir seu bom funcionamento.
Cientista de dados na Aquarela. Graduado em engenharia elétrica pela UFSC. Entusiasta nas áreas de ciência de dados, aprendizado de máquina e processamento de sinais.
A ciência de dados é uma área da inteligência artificial que tem crescido muito nos últimos anos. Essa área é responsável pelo estudo e análise de dados de diversos ramos para obtenção de ideias, identificação de padrões, desenvolvimento de modelos matemáticos e estatísticos para inferir sobre novos dados, entre outros. A partir disso, hoje iremos falar um pouco sobre um problema associado a ela, os chamados dados desbalanceados.
Podemos pensar em um banco de dados (dataset) como uma tabela em que cada coluna representa uma informação sobre determinado tópico e as linhas são as quantidades de dados disponíveis. No mundo da ciência de dados, é comum encontrar datasetsque relacionam os dados com uma classe (também chamada de categoria ou rótulo).
Na grande parte dos problemas cotidianos, é frequente que haja mais dados de uma classe do que de outra, conforme no exemplo da Figura 1, em que temos muito mais ocorrência de dados na classe A do que na classe B. Um exemplo mais prático disso seria na área da saúde, em que há mais exemplos disponíveis de pessoas saudáveis do que com algum problema de saúde (câncer, arritmia cardíaca, convulsões, entre outros); ou então em fraudes de pagamento, sendo mais comum a não ocorrência de fraude.
Figura 1: Exemplo de dados desbalanceados em duas classes hipotéticas, A e B
Dessa forma, o desbalanceamento de dados é justamente a questão de termos mais informações a respeito de uma classe (majoritária) do que da outra (minoritária). Pode-se expandir a mesma lógica para problemas com múltiplas classes.
Problemas causados pelos dados desbalanceados
Quando o assunto é análise exploratória de dados, o desbalanceamento não chega a ser tão comprometedor. Se a quantidade de dados disponível for o suficiente para buscar insights, o desbalanceamento não chega a ser um problema, uma vez que podemos obter algumas conclusões sem uma grande quantidade de dados. Entretanto, quando o assunto são modelos de aprendizado de máquina, a influência do desbalanceamento de dados fica evidente.
Digamos que um cientista de dados esteja trabalhando para desenvolver um modelo de aprendizado de máquina para algum problema de classificação ou previsão e ele possui um banco de dados desbalanceado. Caso nenhuma medida seja tomada a esse respeito, é muito provável que o modelo projetado tenha facilidade em identificar os dados referentes à classe majoritária (afinal, ele teve mais exemplos de dados dessa classe), mas tenha dificuldade na identificação dos dados da classe minoritária. Isso pode gerar uma má interpretação do modelo, pois, a princípio, ele está tendo um bom desempenho no acerto geral (acurácia), mas, se a intenção for justamente identificar os dados da classe minoritária, ele se torna um péssimo modelo.
Para visualizarmos isso de forma mais simples, vamos olhar para a Figura 2, que mistura imagens de cachorros da raça Chihuahua com muffins.
Figura 2: Cachorros Chihuahuas e muffins (Google Imagens)
Apesar de serem coisas completamente diferentes, os rostos dos Chihuahuas e os muffins da figura apresentam algumas características em comum, como formato, tamanho e cor. Para um modelo de aprendizado de máquina, essas características da classe Chihuahua e da classe muffin podem ser parecidas ao ponto de haver certa dificuldade para diferenciá-las. Nesse sentido, se por acaso tivermos muito mais imagens de Chihuahuas do que de muffins, o modelo apresentará dificuldades na classificação.
Tratando o problema
Vimos com um exemplo simples como o desbalanceamento de dados pode dificultar o trabalho de um cientista de dados. Portanto, é de suma importância que haja uma forma de lidar com esse problema de forma a minimizar a maior influência da classe majoritária sobre a minoritária. A busca de mais dados seria a forma mais simples e óbvia.
Retomando como exemplo a Figura 1, bastaria buscar mais dados da classe B até se igualar à da classe A. Acontece que nem sempre é tão fácil quanto parece. No exemplo da Figura 2, essa abordagem é perfeitamente viável, mas quando um profissional está trabalhando com o banco de dados de um cliente nem sempre isso é possível. Logo, outras ferramentas são necessárias para balancear os dados.
Undersampling
A técnica de undersampling consiste em retirar dados da classe majoritária para se igualar à da majoritária, conforme mostrado na Figura 3.
Figura 3: Exemplo da técnica de undersampling, com diminuição de dados da classe A para se igualar à quantidade de dados da classe B.
Ainda na técnica de undersampling, existem diversos métodos que podem ser aplicados para selecionar quais dados serão retirados. Por exemplo: retirar dados de maneira aleatória ou seguindo alguma métrica matemática de distância entre os dados de cada classe no plano amostral. Outras técnicas de undersampling procuram agrupar dados correlatos, podendo retirar algumas amostras sem comprometer muito a quantidade de informação da classe.
Oversampling
Já a técnica de oversampling consiste em gerar dados sintéticos da classe minoritária a partir dos seus dados originais de forma a se igualar com o número de dados da classe majoritária. As principais técnicas de oversampling são SMOTE e ADASYN, que utilizam cálculos matemáticos para gerar novas amostras que se assemelham às originais, aumentando a quantidade de dados e mantendo as características da classe.
A Figura 4 exemplifica a ideia geral da técnica de oversampling, em que foram gerados novas amostras de forma a igualar o número de ocorrência da classe B à da classe A.
Figura 4: Exemplo da técnica de oversampling, com a inserção de dados sintéticos na classe minoritária para de igualar à quantidade de dados da classe majoritária.
Dados desbalanceados – Considerações finais
O desbalanceamento de dados é um tema comum no dia a dia das pessoas que trabalham nesse meio, entretanto pode ser um empecilho nos momentos de construção de modelos de classificação ou regressão. A identificação e o tratamento de dados faltantes é essencial para o bom desenvolvimento das atividades de um time de cientistas de dados, visto que o desbalanceamento de dados é muitas vezes responsável por acrescentar um viés nos modelos de aprendizado de máquina, distorcendo suas análises de desempenho.
Dessa forma, o objetivo deste texto foi apresentar a problemática envolvida no desbalanceamento de dados, bem como indicar algumas técnicas e métodos utilizados para contornar esse problema. Assim, chega a ser instigante pensar que, em um mundo cada vez mais rodeado de acesso à informação e geração de grande quantidade de dados, ainda tenhamos um tema que trata justamente de classes com maior ocorrência de informação do que outras.
Cientista de dados na Aquarela. Graduado em engenharia elétrica pela UFSC. Entusiasta nas áreas de ciência de dados, aprendizado de máquina e processamento de sinais.