Classification vs Regression: dois problemas diferentes, duas formas de prever o
futuro
Uma das primeiras coisas que aprendi quando comecei a trabalhar com Machine Learning
foi que nem todos os problemas são iguais.
À primeira vista parece uma conclusão óbvia. No entanto, muitos iniciantes, incluindo eu
próprio, tendem a olhar para Machine Learning como uma única tecnologia capaz de
resolver qualquer desafio.
Na prática não é assim
Antes de escolhermos um algoritmo, uma biblioteca ou uma ferramenta, existe uma
pergunta muito mais importante:
O que estamos realmente a tentar prever?
A resposta a esta pergunta determina quase todo o resto.
Em Machine Learning, a maioria dos problemas de aprendizagem supervisionada enquadra-
se em duas grandes categorias:
- Classification
- Regression
Embora ambas utilizem dados históricos para fazer previsões, os objetivos são
completamente diferentes.
Compreender esta distinção é um dos primeiros passos para construir modelos úteis e
evitar erros que podem comprometer todo um projeto.
O exemplo do médico
Imagine que um médico observa um conjunto de sintomas.
Após a análise, pode chegar a uma de duas conclusões.
A primeira é responder:
O doente tem gripe ou não?
Neste caso existe um conjunto limitado de respostas possíveis.
Sim ou não.
Estamos perante um problema de classificação.
Mas o médico também pode responder:
A temperatura corporal prevista será de 39,2°C.
Agora já não estamos a escolher uma categoria.
Estamos a prever um valor numérico.
Neste caso estamos perante um problema de regressão.
Esta diferença aparentemente simples está presente em praticamente todos os projetos de
Machine Learning.
O que é Classification?
Classification consiste em prever categorias.
O modelo recebe um conjunto de informações e deve decidir em qual classe ou grupo
determinado registo se enquadra.
Por exemplo:
- Reclamação ou não reclamação
- Fraude ou não fraude
- Spam ou não spam
- Cliente satisfeito ou insatisfeito
- Equipamento avariado ou operacional
O resultado final pertence sempre a uma categoria previamente definida.
No projeto de logística que desenvolvi recentemente, o objetivo era precisamente esse.
Pretendíamos prever se um determinado envio iria gerar uma reclamação.
O resultado apenas podia assumir dois estados:
- Sim
- Não
Este é um exemplo clássico de classificação binária.
O algoritmo analisa características como:
- Distância percorrida
- Peso da mercadoria
- Número de transbordos
- Tempo de entrega
- Número de incidentes
e tenta prever a categoria correta.
Como funciona uma classificação na prática?
Imaginemos uma transportadora que realiza milhares de entregas por mês.
Nem todas as entregas apresentam o mesmo risco.
Algumas são simples.
Outras envolvem longas distâncias, múltiplos transbordos e mercadorias sensíveis.
Se conseguirmos identificar antecipadamente os envios mais problemáticos, podemos atuar
antes que o problema aconteça.
Por exemplo:
- Reforçar o acompanhamento da operação.
- Melhorar a comunicação com o cliente.
- Ajustar a rota.
- Rever procedimentos internos.
O modelo não está a prever um número.
Está a responder a uma pergunta.
Este envio irá gerar uma reclamação?
Sim ou não.
É isso que caracteriza a classificação.
O que é Regression?
A regressão tem um objetivo completamente diferente.
Em vez de prever categorias, pretende prever valores numéricos.
Por exemplo:
- Qual será o consumo energético amanhã?
- Qual será a produção fotovoltaica?
- Quanto irá faturar uma empresa no próximo mês?
- Qual será o preço da eletricidade na próxima hora?
- Quanto tempo demorará uma entrega?
Neste caso não existe um conjunto limitado de respostas.
O resultado pode assumir praticamente qualquer valor dentro de um intervalo.
Por exemplo:
523 kWh
ou
7.842 €
ou
31,4 ºC
Estamos perante uma variável contínua.
Um exemplo da eficiência energética
A área da energia fornece excelentes exemplos de regressão.
Imagine um gestor energético responsável por uma piscina municipal.
Todos os dias são recolhidos dados relativos a:
- Temperatura exterior.
- Humidade.
- Número de utilizadores.
- Horário de funcionamento.
- Consumos históricos.
Uma das perguntas mais importantes pode ser:
Qual será o consumo energético amanhã?
Não estamos à procura de uma categoria.
Estamos à procura de um valor.
O modelo poderá responder:
8.430 kWh
A partir desta previsão torna-se possível:
- Planear operações.
- Ajustar equipamentos.
- Negociar contratos de energia.
- Identificar desvios futuros.
Este é um caso típico de regressão.
Uma metáfora simples
Imagine que está a conduzir um automóvel.
O painel do veículo pode responder a duas perguntas diferentes.
Primeira pergunta:
Tenho combustível suficiente para chegar ao destino?
Resposta:
Sim
ou
Não
Estamos perante uma classificação.
Agora imagine uma segunda pergunta:
Quantos quilómetros ainda consigo percorrer?
Resposta:
137 km
Estamos perante uma regressão.
O primeiro problema escolhe uma categoria.
O segundo prevê um valor.
É exatamente esta diferença que separa Classification de Regression.
Porque é importante escolher corretamente?
Esta é uma questão que muitas vezes passa despercebida.
Utilizar a abordagem errada pode produzir resultados completamente inúteis.
Imagine que um município pretende prever o consumo energético anual dos seus edifícios.
Se utilizarmos um modelo de classificação, poderemos obter respostas como:
Consumo alto
Consumo médio
Consumo baixo
Estas categorias podem ser úteis para segmentação.
Mas não respondem à pergunta principal.
O gestor necessita de saber:
145.000 kWh
ou
210.000 kWh
Neste caso é necessária uma abordagem de regressão.
O contrário também acontece.
Se o objetivo for identificar edifícios energeticamente ineficientes, uma classificação pode
ser mais adequada do que uma previsão numérica.
Tudo depende da pergunta inicial.
O erro mais comum
Um dos erros mais frequentes em projetos de dados consiste em começar pelo algoritmo.
As equipas discutem:
- Random Forest.
- Redes Neuronais.
- XGBoost.
- Deep Learning.
Mas esquecem-se de clarificar a questão mais importante:
O que queremos prever?
Antes de pensar na tecnologia, devemos compreender o problema.
A resposta a esta pergunta determina se estamos perante um problema de classificação ou
regressão.
E essa decisão influencia todo o desenvolvimento posterior.
O futuro dos sistemas inteligentes
À medida que as organizações recolhem mais dados, a capacidade de antecipar
acontecimentos torna-se cada vez mais relevante.
Na minha perspetiva, muitas das aplicações mais interessantes de Machine Learning nos
próximos anos estarão ligadas precisamente a esta capacidade preditiva.
Na logística:
- Previsão de atrasos.
- Previsão de reclamações.
Na energia:
- Previsão de consumos.
- Previsão de emissões.
- Previsão de produção renovável.
Na gestão municipal:
- Previsão de necessidades de manutenção.
- Previsão de procura de serviços públicos.
Todos estes casos assentam numa ideia simples:
Utilizar o passado para estimar o futuro.
A diferença está apenas na natureza da resposta que procuramos obter.
Conclusão
Classification e Regression são duas das ferramentas mais importantes do Machine
Learning. Embora utilizem princípios semelhantes, resolvem problemas completamente diferentes.
A classificação responde a perguntas cuja resposta pertence a uma categoria.
A regressão responde a perguntas cuja resposta é um valor numérico.
Antes de escolher qualquer algoritmo, vale a pena dedicar alguns minutos a compreender
qual destas abordagens se adequa melhor ao problema em causa.
Na maioria das situações, essa decisão terá mais impacto no sucesso do projeto do que a
escolha da tecnologia utilizada.
Ler mais: Classification vs Regression: dois problemas diferentes, duas formas de prever ofuturo