Google Colab: o laboratório de Machine Learning da Google e porque comecei a
utilizá-lo
Quando comecei a estudar Machine Learning de forma mais séria, deparei-me rapidamente
com um problema que muitos iniciantes enfrentam. Antes de treinar qualquer modelo era necessário instalar software, Python, Bibliotecas, Dependências, Ambientes virtuais, Drivers,
Configurações. Em muitos casos, acabamos por passar mais tempo a resolver problemas técnicos do que propriamente a aprender Machine Learning. Foi precisamente por isso que fiquei agradavelmente surpreendido quando comecei a utilizar o Google Colab. Na prática, o Google Colab permite começar a programar em Python, analisar dados e desenvolver modelos de Machine Learning diretamente no navegador, sem necessidade de instalar praticamente nada no computador. Para quem está a aprender, é uma das ferramentas mais úteis que encontrei até agora.
O meu primeiro projeto de Machine Learning: prever reclamações numa empresa de logística
Uma das melhores formas de aprender uma nova tecnologia é utilizá-la para resolver um
problema real. Podemos assistir a cursos, ler livros ou ver dezenas de vídeos. Tudo isso ajuda. No entanto, existe um momento em que a teoria deixa de ser suficiente.
Esse momento acontece quando nos sentamos perante um conjunto de dados e fazemos a
pergunta:
E agora, por onde começo?
Foi exatamente isso que aconteceu durante uma das sessões práticas do curso de Machine
Learning que estou a frequentar. O desafio parecia simples. Uma empresa de logística pretendia identificar quais os envios com maior probabilidade de gerar reclamações por parte dos clientes. O objetivo era utilizar dados históricos para antecipar problemas futuros e permitir uma intervenção preventiva. À primeira vista parecia um exercício académico.
Mas quanto mais avançava no projeto, mais percebia que estava perante um problema
muito semelhante aos desafios que encontramos diariamente nas empresas.
O problema de negócio
Imagine uma empresa que realiza milhares de entregas por mês. Algumas operações decorrem sem qualquer incidente. Outras terminam em reclamações. Quando uma reclamação surge, normalmente já é tarde. O cliente ficou insatisfeito. A equipa teve de investir tempo na resolução do problema. A reputação da empresa pode ter sido afetada.
A questão torna-se então bastante interessante:
E se conseguíssemos identificar os envios de maior risco antes de o problema acontecer?
Esta é precisamente uma das áreas onde o Machine Learning pode gerar valor.
Não porque elimina os problemas. Mas porque permite antecipá-los.
O dataset
O conjunto de dados continha informação relativa a 1000 operações logísticas.
Cada envio incluía variáveis como:
- Distância percorrida.
- Peso da mercadoria.
- Volume transportado.
- Tipo de produto.
- Origem.
- Destino.
- Temperatura média.
- Tráfego médio.
- Tempo de entrega.
- Número de transbordos.
- Custo do transporte.
- Número de incidentes.
À primeira vista parecia existir informação suficiente para desenvolver um modelo
interessante. No entanto, rapidamente surgiu um primeiro desafio. Nem todos os registos possuíam informação sobre reclamações.
A primeira lição: os dados raramente estão perfeitos
Quando começamos a estudar Machine Learning é fácil imaginar conjuntos de dados
perfeitamente organizados. Na realidade, isso raramente acontece. Dos 1000 registos disponíveis, apenas cerca de 300 possuíam informação sobre a existência
ou não de reclamações. Os restantes não tinham qualquer etiqueta associada.
Isto significava que apenas uma parte dos dados podia ser utilizada para treino
supervisionado. Foi uma excelente demonstração de uma realidade muito comum nas organizações. Temos muitos dados. Mas nem sempre temos as respostas que precisamos.
O papel do Google Colab
Todo o projeto foi desenvolvido utilizando o Google Colab. Esta foi uma das descobertas mais interessantes desta fase da aprendizagem.
Em poucos minutos consegui:
- Importar o ficheiro CSV.
- Importar o ficheiro CSV.
- Criar gráficos.
- Preparar os dados para treino.
- Desenvolver o modelo.
Sem instalar qualquer software adicional. Para quem está a aprender Machine Learning, esta simplicidade reduz significativamente a barreira de entrada.
O trabalho invisível: preparar os dados
Quando vemos demonstrações de Inteligência Artificial é fácil pensar que a parte
importante é o algoritmo. Mas rapidamente percebi que a maior parte do trabalho acontece antes disso.
Foi necessário:
- Analisar variáveis.
- Verificar dados em falta.
- Identificar tipos de dados.
- Converter variáveis categóricas.
- Preparar o conjunto de treino.
Este processo costuma ser conhecido como preparação ou limpeza dos dados. E é frequentemente responsável por uma parte significativa do tempo de um projeto.
Existe uma expressão muito utilizada na área dos dados:
Garbage in, garbage out.
Se os dados forem maus, o resultado também será.
A escolha do modelo
Para este exercício foi utilizado um algoritmo chamado Random Forest. O nome pode parecer complexo, mas a ideia é relativamente simples. Imagine que precisa de tomar uma decisão importante. Em vez de perguntar apenas a uma pessoa, decide consultar centenas de especialistas. Cada especialista dá a sua opinião. No final, a decisão resulta da combinação de todas essas opiniões. O Random Forest funciona de forma semelhante.
Em vez de utilizar apenas uma árvore de decisão, utiliza várias árvores e combina os
resultados. Esta abordagem tende a produzir previsões mais robustas e menos suscetíveis a erros individuais.
Treinar o modelo
Após a preparação dos dados, o conjunto foi dividido em duas partes. Uma parte para treino. Outra parte para teste. Esta separação é fundamental. Se avaliarmos o modelo utilizando os mesmos dados que serviram para o treino, corremos o risco de obter resultados enganadores. É semelhante a um aluno que memoriza as respostas de um teste.
Pode parecer excelente.
Mas apenas porque já conhecia as perguntas. O verdadeiro desafio é avaliar o desempenho perante situações novas.
O primeiro resultado
Depois de treinar o modelo surgiu um valor aparentemente muito positivo.
Accuracy:
82,89%
A primeira reação foi de satisfação.
Mais de 80% parece um resultado bastante bom.
Mas foi precisamente neste momento que surgiu uma das lições mais importantes de todo o exercício.
Nem tudo o que parece bom é realmente bom.
Quando a Accuracy engana
Ao analisar os resultados com maior detalhe, descobri algo interessante. O modelo acertava muito bem nos casos sem reclamação. Mas praticamente não conseguia identificar os casos que efetivamente geravam reclamações. Por outras palavras:
O modelo estava a aprender a responder quase sempre;não haverá reclamação
Como a maioria dos registos correspondia a situações sem reclamação, a Accuracy
mantinha-se elevada. Mas isso não significava que o modelo fosse realmente útil.
Foi aqui que percebi a importância de métricas como:
- Precision.
- Recall.
- F1 Score.
- ROC AUC.
Uma Accuracy elevada não garante necessariamente um bom modelo.
Uma metáfora empresarial
Imagine um médico que afirma acertar 95% dos diagnósticos. Parece impressionante. Mas depois descobrimos que sempre que surge uma doença rara, falha sistematicamente.
A confiança inicial desaparece rapidamente. Foi exatamente isso que aconteceu neste exercício. O modelo parecia bom quando observado de forma superficial. Mas uma análise mais aprofundada revelou limitações importantes.
O que isto tem a ver com eficiência energética?
Muito mais do que parece. Imagine um sistema de Inteligência Artificial destinado a identificar edifícios energeticamente ineficientes. Se apenas 5% dos edifícios apresentarem desperdícios significativos, um modelo pode simplesmente assumir que todos os edifícios estão a funcionar corretamente. A Accuracy será elevada. Mas o sistema falhará precisamente nos casos mais importantes. É por isso que compreender as métricas é tão importante. Os números devem ser interpretados no contexto do problema.
O verdadeiro valor do projeto
Apesar das limitações, considero este exercício extremamente valioso. Não porque produziu um modelo perfeito. Mas porque mostrou como funciona um projeto real de Machine Learning. Percebi que o sucesso depende muito mais de:
- Compreender o problema.
- Conhecer os dados.
- Interpretar os resultados.
do que simplesmente executar algoritmos. Esta foi provavelmente a maior aprendizagem de toda a experiência.
Conclusão
O meu primeiro projeto de Machine Learning mostrou-me que a Inteligência Artificial não é
magia. É um processo estruturado. Começa nos dados. Passa pela preparação da informação. Continua na escolha dos modelos. E termina na interpretação crítica dos resultados. Mais importante do que obter um valor elevado de Accuracy é compreender o que esse valor realmente significa. Porque, tal como acontece em muitas áreas da gestão, os números só são úteis quando sabemos interpretá-los corretamente. E essa talvez tenha sido a principal lição deste primeiro contacto prático com Machine Learning.