O machine learning habita o universo da ciência de dados. É onde problemas de previsão com dados desbalanceados são comuns e ocorrem quando não há uma proporção equilibrada de observações entre as possíveis classes da variável resposta.

Além disso, existe um desafio ainda maior que é quando essa desproporção da variável resposta se estende por mais de duas classes diferentes.

Para resolver isso, você precisa entrar no campo da ciência de dados chamado de multiclassificação com dados desbalanceados.

Comece agora essa imersão lendo este estudo de caso. Trouxemos um exemplo prático de manutenção preditiva abordando o problema para encontrar padrões e prever falhas em um determinado equipamento.

Boa leitura!

Machine learning: uma introdução

Muito antes da ciência de dados, lá pelo final do século XVIII, surgiu a indústria. Nela, já foi muito comum que uma linha de produção parasse por causa de um equipamento que inesperadamente deixasse de funcionar por conta de algum defeito.

Com o passar dos anos, alguns procedimentos foram sendo adotados para minimizar esse tipo de problema. Um desses procedimentos é a manutenção preventiva de equipamentos, que ainda é muito comum nos dias atuais.

Como se faz isso?

Em intervalos definidos de tempo, uma pessoa técnica realiza um check-up em cada equipamento.

Acontece que depender apenas disso não evita situações em que equipamentos parem de funcionar inesperadamente, e esse é um procedimento muito caro, uma vez que precisa de mão de obra dedicada para o trabalho. Ainda bem que estamos evoluindo!

Nos dias atuais, uma nova forma de lidar com esses problemas tem ganhado espaço e popularidade no setor industrial. Estamos falando da prática da manutenção preditiva, que tenta identificar o momento em que um equipamento dará problema.

Sem bola de cristal, mas com o uso de sensores e algoritmos de aprendizado de máquina, hoje em dia é possível identificar quando um equipamento está prestes a falhar.

Em ciência de dados, o problema de encontrar padrões e prever qual falha poderá ocorrer em um determinado equipamento se encaixa num campo chamado de multiclassificação com dados desbalanceados.

E é sobre isso que você vai ler ao longo deste estudo.

Problemas de previsão com dados desbalanceados são comuns no universo de machine learning. Eles ocorrem em situações em que não há uma proporção equilibrada de observações entre as possíveis classes da variável resposta.

Tal desproporção cria um desafio na avaliação do modelo desenvolvido pois, devido à disparidade no volume de observações, o algoritmo tende a categorizar preferencialmente a classe com mais instâncias, ao mesmo tempo em que dá a falsa sensação de ser um modelo altamente preciso.

Veja alguns exemplos de situações desbalanceadas com as quais você pode se deparar:

  • detecção de fraude
  • filtragem de spam
  • previsão de falha mecânica
  • diagnóstico médico de câncer
  • detecção de derramamento de óleo em imagens de satélite

Vamos observar e analisar na prática um exemplo?

Olhando para a imagem a seguir, temos a análise da proporção de falhas de um produto em relação ao total produzido:

Sobre machine learning, uma imagem de gráfico de colunas que mostra a análise da proporção de falhas de um produto de 3,39% em relação ao total produzido.
Machine learning: gráfico de análise da proporção de falhas

E, como estamos falando em machine learning, vamos levantar alguns problemas comuns desse universo de aprendizagem de máquina analisando esse exemplo para você.

Primeiro ponto: ao receber um número muito maior de produtos sem defeitos (96,61% contra 3,39% de produtos com alguma irregularidade), é muito provável que o algoritmo seja tendencioso no momento da classificação.

Segundo ponto: identificar todos os produtos como não defeituosos traria a falsa impressão de um modelo altamente preciso, uma vez que apontaria corretamente 96,61% das respostas.

Terceiro ponto: por fim, quando desejamos considerar a possibilidade de identificar múltiplas classes para uma mesma observação, temos outro problema comum no universo de machine learning, o da multiclassificação.

Na ciência de dados (e na Indicium), chamamos de multiclassificação o que ocorre em machine learning quando precisamos prever uma classe dentre três ou mais opções de classes de resposta.

Esse tipo de classificação, de padrão multiclasse, tem também muitas aplicações, incluindo classificação de documento de texto, reconhecimento de fala, reconhecimento de imagens etc.

A maioria das técnicas de classificação de padrões multiclasses são propostas para o modelo de machine learning aprender a partir de conjuntos de dados balanceados.

E é aí que mora o perigo!

Em várias situações do mundo real, como já mencionamos, os conjuntos de dados têm uma distribuição de dados desequilibrada. Isso significa dizer que algumas classes de dados podem ter poucos exemplos de treinamento em comparação com outras classes.

Machine learning: o problema

Na ciência de dados, os conjuntos de dados de manutenção preditiva reais são geralmente difíceis de obter e, particularmente, difíceis de publicar. Por isso, utilizaremos um conjunto de dados sintéticos que simula a situação de falha em equipamentos da indústria, disponível em UCI Machine Learning Repository, o qual irá alimentar nossos modelos de manutenção preditiva para a indústria.

Na imagem a seguir, você percebe que, mesmo entre os possíveis tipos de falhas dos equipamentos, existe um desbalanceamento que precisaremos considerar no nosso modelo de manutenção preditiva?

Sobre machine learning, imagem de gráfico de colunas analisando desbalanceamento nos possíveis tipos de falhas diferentes.
Machine learning: desbalanceamento nos possíveis tipos diferentes de falha

Além disso, da nossa base, 23 observações apresentaram 2 classes diferentes associadas a ela, e 1 teve 3 classes.  

Sobre machine learning, imagem de gráfico de colunas demonstrando múltiplas classes de falhas em equipamentos.
Machine learning: múltiplas classes de falhas

Como são poucos itens com mais de uma falha associada, e também para fins de simplificação do problema, consideramos as falhas que ocorreram de forma independente.

Machine learning: preparação dos dados para entrar no modelo

Diferentes modelos têm diferentes sensibilidades em relação ao tipo de preditor no modelo. Afinal, a forma como os preditores entram também é importante. Para reduzir o impacto da assimetria de dados ou de outliers, as transformações dos dados podem ser feitas para levar a melhorias significativas no desempenho.

Alguns procedimentos, como modelos baseados em árvores, são notavelmente insensíveis às características dos dados do preditor. Outros, como a regressão linear, não são.

Modelos de classificação baseados em árvores criam divisões dos dados de treinamento, e a equação preditiva é um conjunto de instruções lógicas, como: se o preditor A for maior do que X preveja que a classe seja Y. Então, o outlier normalmente não tem uma influência excepcional no modelo

A limpeza de dados para remover ruídos, dados inconsistentes e erros também precisa ser feita. Com isso, obteremos um conjunto de dados melhor e mais representativo para desenvolver um modelo de predição confiável. É que, na maioria dos modelos de predição, dados impuros podem afetar a precisão de predição de um modelo. E isso nós não queremos que ocorra.

Balanceamento de dados

Nos últimos anos da ciência de dados, diversos métodos de balanceamento foram desenvolvidos visando solucionar problemas de desequilíbrio entre classes. Esses métodos foram amplamente categorizados em dois grupos:

  1. balanceamento em termos de dados
  2. balanceamento em termos de algoritmo

Em machine learning, as abordagens de balanceamento em termos de dados reequilibram sua distribuição por métodos de reamostragem.

Como?

Aumentando a classe minoritária ou diminuindo as observações da classe majoritária.

Para você entender melhor, veja alguns exemplos de abordagem em termos de dados:

  • oversample: aumenta o volume de dados das classes minoritárias, gerando dados sintéticos ou replicando ocorrências apresentadas.
  • undersample: reduz o volume das classes majoritárias, buscando um equilíbrio numérico em relação ao restante dos dados.
Sobre machine learning, duas imagens paralelas de dois gráficos de colunas demonstrando abordagens de balanceamento em termos de dados.
Machine learning: abordagens de balanceamento em termos de dados

Já as abordagens de balanceamento em termos de algoritmo em machine learning modificam os parâmetros e hiperparâmetros do modelo de forma a compensar disparidades. Essas modificações podem ocorrer de diversas formas, como: funções de custo para falsos negativos (ou seja, penalizar o modelo caso você identifique um produto defeituoso como não defeituoso) e adequação e indução de tendências.

Métricas de avaliação

Em machine learning, assim como em tudo na vida, é preciso saber escolher.

Para conseguirmos comparar modelos e avaliar se as previsões estão boas ou não, existem alguns métodos. Mas, se você escolher um método equivocadamente, isso poderá levar a uma interpretação errada da qualidade do modelo.

Aqui na Indicium, como métricas de comparação de desempenho para esse problema, nós utilizamos o F1-score e o MCC, que são os mais utilizados para avaliar esse tipo de modelo.

Machine learning: métodos para solucionar o problema

O desenvolvimento desse trabalho proposto em ciência de dados leva em consideração dois cenários possíveis:

  1. classificação binária: 1 para casos defeituosos e 0 para produtos sem defeito; e posterior classificação multiclasse entre os 5 potenciais defeitos (TWF, HDF, PWF e OSF).
  2. um único modelo de classificação: desenvolvido com as mesmas classes do modelo anterior e uma sexta categoria denominada sem defeito.

No esquema a seguir, mostramos para você um exemplo da estrutura dos experimentos a serem testados:

Sobre machine learning, quadro demonstrando um exemplo da estrutura dos experimentos a serem testados.
Machine learning: exemplo de estrutura de experimentos

Modelos testados

Vejamos agora quatro métodos testados e descritos para você conhecer.

a) Regressão logística em machine learning

Enquanto método de predição para variáveis categóricas, a regressão logística é comparável às técnicas supervisionadas propostas em aprendizagem automática (árvores de decisão, redes neurais etc.) e à análise discriminante preditiva em estatística exploratória. Você poderá colocar ambas em concorrência para escolher o modelo mais adaptado para um problema preditivo a ser resolvido.

Conceitualmente falando, a regressão logística em machine learning trata-se de um modelo de regressão para variáveis dependentes ou de uma resposta distribuída de modo binomial. É útil para modelar a probabilidade de um evento ocorrer em função de outros fatores. E é um modelo linear generalizado que usa como função de ligação a função logit.

b) Árvores de decisão em machine learning

Como explica Kartik Nooney, a árvore de decisão multilabel é como a tradicional, mas com uma alteração: ao invés de um objeto percorrer um único caminho na árvore, para ser classificado, ele percorre todos os caminhos que lhe são pertinentes, e cada “folha” que ele atinge é uma label que ele possui

As árvores de decisão em machine learning estão entre os mais populares algoritmos de inferência e têm sido aplicadas em várias áreas, como em diagnóstico médico e de risco de crédito. Delas, você pode extrair regras do tipo se-então, que são facilmente compreendidas. A capacidade de discriminação de uma árvore vem da divisão do espaço definido pelos atributos em subespaços, e a cada subespaço é associada uma classe.

c) Ensembles em machine learning

Modelos ensemble (ou híbridos) são compostos por dois ou mais modelos de previsão, combinando características exclusivas de cada um. Os modelos boosting são considerados os mais populares dentro desse conjunto, por gerar um classificador preciso a partir de outros classificadores de precisão mais baixa.

A superioridade dos modelos boosting em machine learning está em sua natureza de aprendizagem serial, que resulta em excelente aproximação e generalização. Em outras palavras, os classificadores pouco precisos são treinados sequencialmente para reduzir os erros dos classificadores anteriores.

d) Support vector machine (SVC) em machine learning

O SVM pertence à classe dos algoritmos de aprendizado supervisionado e, devido à divisão dos dados em duas classes, ele é conhecido como uma classificação binária.

A complexidade do SVM devido ao aumento no número de classes diminui o desempenho de computação. Para amenizar isso, o classificador multiclasse é simplificado em uma série de classificações binárias, como: Um-Contra-Um e Um-Contra-Todos.

Métodos de balanceamento oversample

Conheça agora cinco métodos de balanceamento oversample.

  1. Smote (synthetic minority over-sampling technique)
  2. Random over sampler
  3. Borderline smote
  4. K-Means smote
  5. SVMSMOTE
  6. Adasyn (adaptive synthetic sampling approach)
Métodos de balanceamento undersample

E abaixo, apresentamos quatro métodos de balanceamento undersample.

  1. Near miss
  2. Condensed nearest neighbour
  3. Tomek links
  4. Edited nearest neighbours

Resultados

Em machine learning, depois de preparar os dados e escolher métodos certos para isso, chegamos a resultados.

Você sabe o que fazer agora?

Classificação binária e posterior classificação multiclasse

Para as combinações, inicialmente executamos os modelos para a classificação binária. Depois, utilizamos os resultados dos 10 melhores modelos como input da previsão multiclasse.

Paralelamente, executamos um teste levando em consideração apenas produtos defeituosos (TWF, HDF, PWF e OSF) visando apontar quais seriam os modelos com maior potencial de identificação entre classes.

A previsão em duas etapas foi desenvolvida a partir das 100 distintas combinações entre os modelos apresentados anteriormente.

Atenção aqui: apenas produtos classificados como problemáticos passam para a segunda fase da previsão. Automaticamente, o restante dos dados são classificados como não problemáticos.

Os melhores resultados disso? Apresentamos a seguir.

Multiclassificação direta

Os modelos previamente listados também foram testados de forma direta (ou seja, classificados entre: ok, TWF, HDF, PWF e OSF). Isso permitiu a comparação entre as métricas avaliativas de cada caso.

Conheça os 10 melhores resultados obtidos a seguir.

Machine learning: qual a conclusão deste estudo?

Apesar de possibilitar a combinação de eficientes modelos de previsão, concluímos que a divisão dos processos classificatórios em duas etapas prejudica o método de aprendizado serial dos modelos ensemble.

No caso específico desta pesquisa, métodos boosting de previsão superaram qualquer combinação entre outros modelos. E os métodos Smote, Adasyn e Tomek mostraram trazer melhores resultados de balanceamento de dados.

Uma dica para você colocar em prática: as mudanças nos hiperparâmetros de cada modelo também podem ser testadas. Isso pode possibilitar maior adequação do modelo aos dados e, consequentemente, uma melhoria no resultado das métricas de avaliação.

Quer dicas de referências sobre predição em machine learning?

1 Dados desbalanceados — O que são e como lidar com eles.

2 Boosting methods for multi-class imbalanced data classification: an experimental review.

3 A review of multi-class classification for imbalanced data.

4 Multi-class imbalanced classification

Quer aprender mais?

Siga a Indicium. E conheça nosso blog. Compartilhamos todo o nosso conhecimento com você.