Machine Learning para Decisões de Negócio: Modelos, Dados e Métricas

Machine Learning para Decisões de Negócio: Modelos, Dados e Métricas
“Os dados são o novo petróleo, mas o algoritmo é a refinaria.” – Adaptado
A capacidade de transformar grandes volumes de dados em decisões estratégicas tem se tornado um diferencial competitivo. Este artigo explora, de forma acessível, como aplicar Machine Learning a problemas de negócio, abordando a escolha de modelos, a preparação de datasets e as métricas que permitem validar resultados de maneira confiável.
Objetivo: Capacitar gestores e desenvolvedores a planejar, implementar e medir projetos de aprendizado de máquina que gerem valor mensurável para a organização.
1. Por que Machine Learning é essencial nos negócios modernos?
1.1. De dados brutos a insights acionáveis
Empresas coletam informações de múltiplas fontes: sistemas de ERP, plataformas de e‑commerce, sensores IoT e interações em redes sociais. Quando esses dados são analisados apenas com relatórios estáticos, perde‑se a oportunidade de prever tendências, identificar anomalias e automatizar decisões.
1.2. Principais áreas de aplicação
| Área | Problema típico | Tipo de modelo recomendado |
|---|---|---|
| Vendas | Previsão de demanda por produto | Regressão |
| Marketing | Identificação de leads com maior propensão | Classificação |
| Operações | Otimização de rotas de entrega | Otimização (algoritmos) |
| Finanças | Detecção de fraudes em transações | Classificação/Anomalia |
| Recursos Humanos | Segmentação de perfis para treinamento | Clusterização |
Esses exemplos mostram que o Machine Learning pode ser inserido em diferentes camadas da cadeia de valor, sempre com o objetivo de reduzir custos, aumentar receita ou melhorar a experiência do cliente.
2. Escolhendo o modelo certo para o seu problema
A escolha do algoritmo deve partir da natureza da variável que se deseja prever:
| Tipo de variável | Exemplo de negócio | Algoritmos comuns |
|---|---|---|
| Contínua | Valor de vendas futuro | Regressão Linear, Gradient Boosting |
| Categórica | Cliente vai cancelar a assinatura? | Logistic Regression, Random Forest |
| Sem rótulo | Agrupar clientes por comportamento | K‑Means, DBSCAN, Hierarchical Clustering |
2.1. Regressão Linear – previsões de valor numérico
Ideal para situações onde a relação entre variáveis independentes (features) e a variável alvo (target) é aproximadamente linear. Exemplo clássico: prever a receita mensal de um produto a partir de indicadores como investimento em mídia, preço e estoque.
2.2. Classificação – decisões binárias ou multiclasse
Quando o objetivo é atribuir uma classe a cada observação. Por exemplo, classificar um cliente como “propenso a churn” ou “não propenso”. Algoritmos como Logistic Regression, Random Forest e XGBoost são amplamente usados.
2.3. Clusterização – descoberta de segmentos ocultos
Sem rótulo pré‑definido, a ideia é agrupar registros que apresentam padrões semelhantes. O K‑Means é simples e rápido, enquanto o DBSCAN lida melhor com ruído e clusters de forma arbitrária.
3. Preparando o dataset: do raw ao modelo
A qualidade dos dados determina a qualidade das previsões. A etapa de feature engineering engloba:
3.1. Tratamento de valores ausentes
# Carregar pacote
library(tidyverse)
Exemplo de dataset de vendas
vendas <- read_csv("dados/vendas.csv")
Visualizar missing
summary(vendas)
Imputar média para variáveis numéricas
vendas <- vendas %>%
mutate(
preco = ifelse(is.na(preco), mean(preco, na.rm = TRUE), preco),
estoque = ifelse(is.na(estoque), median(estoque, na.rm = TRUE), estoque)
)
3.2. Codificação de variáveis categóricas
# Transformar coluna "regiao" em dummies
vendas <- vendas %>%
mutate(regiao = factor(regiao)) %>%
model.matrix(~ regiao - 1, data = .) %>%
as_tibble() %>%
bind_cols(vendas %>% select(-regiao))
3.3. Normalização (escala)
# Função de padronização (z‑score)
scale_z <- function(x) (x - mean(x)) / sd(x)
vendas <- vendas %>%
mutate_at(vars(preco, estoque, taxa_clics), scale_z)
3.4. Divisão treino / teste
set.seed(123)
indice <- sample(seq_len(nrow(vendas)), size = 0.7 * nrow(vendas))
treino <- vendas[indice, ]
teste <- vendas[-indice, ]
4. Métricas de avaliação: como saber se o modelo entrega valor
A escolha da métrica deve refletir o objetivo de negócio. Algumas das mais utilizadas:
| Métrica | Tipo de modelo | Interpretação |
|---|---|---|
| RMSE (Root Mean Squared Error) | Regressão | Penaliza grandes erros; menor é melhor |
| MAE (Mean Absolute Error) | Regressão | Erro médio absoluto; menos sensível a outliers |
| AUC‑ROC | Classificação | Área sob a curva ROC; indica capacidade discriminatória |
| F1‑Score | Classificação | Harmônica entre precisão e recall; útil em classes desbalanceadas |
| Silhouette Score | Clusterização | Coerência interna dos clusters; varia de -1 a 1 |
4.1. Exemplo de cálculo de RMSE e MAE em R
# Modelo de regressão linear
modelo_lm <- lm(receita ~ preco + estoque + taxa_clics, data = treino)
Previsões
predicoes <- predict(modelo_lm, newdata = teste)
Métricas
rmse <- sqrt(mean((teste$receita - predicoes)^2))
mae <- mean(abs(teste$receita - predicoes))
cat("RMSE:", round(rmse, 2), "
")
cat("MAE :", round(mae, 2), "
")
4.2. Avaliando um classificador com AUC
library(pROC)
Modelo de classificação (Random Forest)
library(randomForest)
modelo_rf <- randomForest(churn ~ ., data = treino, ntree = 200)
Probabilidades de churn
prob <- predict(modelo_rf, teste, type = "prob")[,2]
Curva ROC e AUC
roc_obj <- roc(teste$churn, prob)
auc_val <- auc(roc_obj)
cat("AUC:", round(auc_val, 3), "
")
4.3. Silhouette para K‑Means
```r library(cluster)


