Ganhos:
- Capacidade de definir o tipo de problema (classificação, regressão, clusterização) e critérios de sucesso de acordo com o custo real do trabalho
- Capacidade de dividir os dados honestamente (sem tocar no conjunto de teste; cronologicamente na série temporal) e estabelecer uma base de avaliação livre de vazamentos
- Capacidade de escolher um modelo interpretável começando com uma linha de base simples e adicionando complexidade somente quando merecer.
Até agora coletamos dados, limpamos, exploramos e produzimos recursos. Agora chegamos ao verdadeiro trabalho, construir um modelo. Um modelo é uma estrutura matemática que aprende um padrão a partir dos dados e produz previsões para novas situações. Mas a parte mais crítica da construção de um modelo não é o código em si, mas as duas decisões que o precedem: definir o problema certo e dividir os dados corretamente. AI é um consultor poderoso na seleção de algoritmos, escrita de código e ajuste de parâmetros; mas cabe a cada um decidir o que prever e o que significa sucesso. Um problema mal definido não funcionará mesmo com um modelo perfeitamente escrito.
Definição do problema primeiro: o que prevemos
Todo trabalho de modelagem começa com uma pergunta, e essa pergunta determina o tipo de modelo. Classificação — a saída é uma categoria: “Esse cliente vai sair ou ficar?”, “Essa transação é falsa?”. Regressão (em regressão inglesa - a saída é um número): “Quanto vale esta casa?”, “Quantos pedidos chegarão no próximo mês?”. Clustering (divisão de dados não rotulados em grupos naturais): “Em quantos segmentos naturais meus clientes estão divididos?”.
A segunda parte da definição do problema é o critério de sucesso: o que significa este modelo ser “bom”? Num modelo de fraude, ignorar um fraudador é muito mais caro do que bloquear acidentalmente um cliente honesto; Portanto, não a “precisão geral”, mas a “taxa de captura de fraudadores” vem à tona. Se você não definir esse critério desde o início, junto com o dono do negócio, você acabará com um modelo “altamente preciso” que não funciona (aprofundaremos as métricas na Unidade 7).
Cuidado: "Precisão" pode ser enganosa. Se 10 em cada 1.000 transações forem fraudulentas, um modelo estúpido que diz “nenhuma é fraudulenta” fornecerá 99% de precisão, mas não detectará um único fraudador. Escolha critérios de sucesso com base no custo real do problema.
Divisão de treinamento/teste: exame honesto do modelo
Testar um modelo com os dados que ele aprendeu é como fazer ao aluno as mesmas perguntas que ele estudou na prova; Ele tira notas altas, mas não mostra o que realmente sabe. Portanto, dividimos os dados em dois (geralmente três):
- Conjunto de treinamento (conjunto de treinamento em inglês, geralmente 70-80%): O modelo aprende com isso.
- Conjunto de teste (conjunto de teste, geralmente 20-30%): O modelo não vê isso; o desempenho real é medido aqui.
- Conjunto de validação: Conjunto intermediário utilizado para configuração do modelo (qual parâmetro é melhor); para manter o conjunto de teste "limpo".
A regra mais básica: o conjunto de teste nunca é tocado durante o treinamento. Dimensionamento, codificação, seleção de recursos – tudo é simplesmente aprendido no conjunto de treinamento e depois aplicado aos testes (princípio de vazamento da Unidade 5). O conjunto de teste é a primeira vez que o modelo vê o mundo real; Se você ligá-lo muito cedo, nunca saberá o verdadeiro desempenho.
Exceção de série temporal: se seus dados dependem do tempo (vendas, mercado de ações, demanda), a divisão aleatória não é feita. Porque a divisão aleatória faz com que o modelo veja o futuro e preveja o passado – isso é vazamento. Em vez disso, divida cronologicamente: treine com o período antigo, teste com o novo período.
Seleção de algoritmo: do simples ao complexo
O erro mais comum dos iniciantes é começar pelo modelo mais complexo. A abordagem correta é a oposta: primeiro estabeleça uma linha de base simples. “adivinhe sempre a classe majoritária” em uma classificação; "sempre estime a média" em uma regressão. Este modelo estúpido fornece uma base; Se o seu modelo real não conseguir passar por isso, há um problema. Em seguida, passe para modelos simples e interpretáveis.
modelo
Tipo de problema
ponto forte
fraqueza
Linha de base (maioria/média)
ambos
Dá referência
não aprende
Regressão logística
Classificação
Simples, interpretável
Apenas relacionamento linear
Regressão linear
regressão
Simples, rápido
suposição linear
árvore de decisão
ambos
interpretável
Memorizações fáceis
floresta aleatória
ambos
Forte, durável
Menos interpretável
Aumento de gradiente (XGBoost etc.)
ambos
muito forte
Difícil de ajustar, risco de memorização
Regra: escolha o modelo mais simples e "bom o suficiente". A interpretabilidade é mais valiosa que o poder na maioria dos contextos empresariais; É melhor explicar a rejeição de um empréstimo “porque o seu rácio dívida / rendimento é elevado” do que “porque a caixa negra assim o disse”.
três mini cases
Caso 1 — Definição incorreta do problema. Uma equipe construiu um modelo de classificação baseado em “o cliente está satisfeito”, mas escolheu “precisão” como critério de sucesso. Nos dados, 88% dos clientes ficaram satisfeitos; O modelo obteve 88% de precisão ao chamar todos de “satisfeitos” e nunca pegou as pessoas insatisfeitas – embora o objetivo real fosse encontrá-las. Lição: escolha critérios de sucesso com base no propósito real.
Caso 2 — Vazamento de tempo no compartimento. Num projeto de previsão de demanda, os dados foram divididos aleatoriamente. O modelo deu 93% de precisão, mas travou na produção porque no treinamento previu janeiro, depois novembro, com dados de dezembro – ele viu o futuro. Quando mudamos para a divisão cronológica, o desempenho real aumentou para 74%. Lição: divisão cronológica em séries temporais.
Caso 3 — Complexidade desnecessária. Um analista começou diretamente com uma rede neural profunda, ajustou-a durante semanas e obteve 81% de precisão. Então um colega obteve 80% com 20 linhas de regressão logística — muito mais rápida, interpretável e fácil de manter. Lição: comece com uma linha de base e um modelo simples, adicione complexidade quando merecer.
Quatro modelos copiáveis
1) Esclarecendo a definição do problema:
Sua função: consultor de modelagem. Ajude-me a definir este trabalho: “Quero reduzir a rotatividade de clientes”. Pergunte-me e esclareça: (1) isto é uma classificação ou regressão, (2) qual é exatamente a variável alvo e como deve ser definida, (3) quais devem ser os critérios de sucesso e porquê. A decisão é minha; você apresenta as perguntas e opções.
2) Compartimento seguro de treinamento/teste:
Dividir meu df em treinamento/teste 80%/20%. Mantenha a distribuição de classes (estratificar).random_state=42. Esta NÃO é uma SÉRIE TEMPORAL (observações independentes). Imprima a proporção de classes de cada conjunto após a divisão. Basta fornecer o código de divisão ao conjunto de testes sem aplicar nenhuma transformação.
3) Divisão cronológica da série temporal:
Os dados dependem do tempo (coluna de data: order_date). NÃO é aleatório, divida cronologicamente: 80% do treinamento mais antigo, 20% dos testes mais recentes. Imprima os intervalos de datas de treinamento e teste para que eu possa verificar se o futuro não vazou.
4) Definir uma linha de base:
Estou com um problema de classificação (meta: rotatividade 0/1). Primeiro estabeleça uma linha de base: meça a precisão do treinamento/teste com DummyClassifier, que sempre prevê a classe majoritária. Em seguida, treine uma regressão logística simples e compare se ela supera a linha de base. Mostre as métricas dos dois lado a lado.
Alerta fraco / Alerta forte
Alerta fraco:
Construa o melhor modelo com esses dados.
"Melhor" é indefinido; Não existe tipo de problema, nem meta, nem critérios de sucesso e nem estratégia de divisão. A IA gera um padrão aleatório, possivelmente com vazamento.
Alerta poderoso:
Sua função: assistente de modelagem. Problema: classificação, meta de “rotatividade” (0/1), há desequilíbrio de classe (~12% rotatividade). Critério de sucesso: Chamar de volta aqueles que abandonam é uma prioridade. Observação independente de dados (não séries temporais). Tarefa: (1) divisão estratificada de 80/20%, (2) linha de base do DummyClassifier, (3) regressão logística, todas as transformações no pipeline e aprendidas apenas com o treinamento. Não toque no conjunto de teste antes de dividir.
Aqui o tipo de problema, desequilíbrio, critério e medida de vazamento são claros.
Erros comuns
- Não escolher os critérios de sucesso de acordo com o real propósito. A “precisão” em dados desequilibrados é enganosa; Se você quiser capturar a classe minoritária, o recall vem à tona.
- Tocar no conjunto de teste durante o treinamento. Fazer o dimensionamento/codificação antes da divisão apresenta vazamentos e oculta o desempenho real.
- Divisão aleatória em séries temporais. O modelo vê o futuro, entra em colapso na produção; A divisão cronológica é essencial.
- Saltar para um modelo complexo sem estabelecer uma linha de base. Sem benchmarks você não pode saber se um modelo é realmente bom ou não.
- Ignorando a interpretabilidade. Nas decisões de negócios, um modelo simples e explicável costuma ser mais valioso do que uma caixa preta.
Dica: Antes de começar a construir um modelo, escreva uma frase: “Este modelo irá prever _____, seu sucesso será medido pela métrica _____, porque o verdadeiro custo do trabalho é _____.” Se você não consegue preencher esta frase, você ainda não está pronto para escrever código.
Em resumo
A parte mais crítica da construção de um modelo não é o código, mas as decisões que o precedem: definir o problema certo (classificação ou regressão, qual é o objetivo, qual é o critério de sucesso) e dividir os dados de forma justa (sem mexer no conjunto de testes; cronológico na série temporal). Sempre comece com uma linha de base simples e adicione complexidade somente quando merecer; a interpretabilidade é mais valorizada que o poder na maioria dos contextos de negócios. A IA é uma conselheira poderosa na seleção de algoritmos e código, mas o ser humano decide o que você prevê e por quê.
Tarefa de aplicativo
Defina um problema de previsão e complete a seguinte frase por escrito: “Este modelo irá prever ___ (classificação/regressão), o alvo é ___, o critério de sucesso é ___ porque ___.” Em seguida, divida os dados com a estratégia correta (cronológica se for uma série temporal), estabeleça uma linha de base e meça se um padrão simples quebra essa linha de base.
lista de verificação
- [ ] Defini claramente o tipo de problema (classificação/regressão) e o alvo?
- [ ] Escolhi os critérios de sucesso com base no custo real do trabalho?
- [] Deixei o conjunto de testes intacto durante o treinamento?
- [ ] Se for uma série temporal, dividi cronologicamente?
- [ ] Estabeleci uma linha de base antes de passar para o modelo complexo?