Ganhos:
- Capacidade de estabelecer um fluxo de trabalho de análise repetível que carrega e limpa dados de telemetria, teste e produção com pandas
- Capacidade de compreender e verificar a saída linha por linha enquanto recebe código, atributos e assistência de visualização da inteligência artificial
- Capacidade de auditar os resultados da análise quanto à consistência da unidade, vazamento de dados e reprodutibilidade
Nas unidades anteriores, utilizamos a inteligência artificial como um “conselheiro”. Nesta unidade, vamos um passo além e estabelecemos um fluxo de trabalho que analisa dados automotivos com nossas próprias mãos, usando Python. O objetivo não é fazer de você um desenvolvedor de software; É fazer um engenheiro que possa entender e verificar esse código linha por linha enquanto obtém assistência de código da IA. Porque o código produzido pela IA pode apresentar falhas, assim como o texto produzido pela IA; pode confundir volume, vazar dados, centralizar coluna errada. Executar o código sem entendê-lo é como publicar um relatório não assinado.
Python por quê? Porque é o padrão de fato em análise de dados: você pode processar facilmente dados de telemetria, teste e produção com bibliotecas pandas (dados tabulares), numpy (processamento numérico), matplotlib (plot) e scikit-learn (aprendizado de máquina).
Seis etapas para uma análise reproduzível
Uma análise sólida segue sempre a mesma estrutura:
- Carregar: Leia os dados do arquivo.
- Inspecione: Dimensão, colunas, tipos de dados, valores ausentes.
- Limpo: ausente/atípico, unidade, correção de carimbo de data/hora.
- Recurso de extração: Derive variáveis significativas.
- Análise/modelo: Estatística, visualização ou modelo.
- Verificar e relatar: Fornecimento de resultados, verificação de volume/vazamento, registro.
Dica: ao solicitar código à IA, diga “comente o que você está fazendo em cada etapa e escreva suas suposições”. Assim, você pode verificar o código enquanto o lê.
Exemplo passo a passo: análise de telemetria
O código a seguir carrega um registro CAN/telemetria e faz verificações básicas. (Observação: certifique-se de compreender os códigos antes de executá-los; os nomes das colunas variam dependendo dos seus dados.)
importar pandas como pd# 1) Carregar: CSV semiponto, primeira coluna timestampdf = pd.read_csv("telemetry.csv", parse_dates=["time"])# 2) Checkprint(df.shape) # quantas linhas, quantas colunasprint(df.dtypes) # tipo de cada coluna (número ou texto)print(df.isna().sum()) # número de valores ausentes por columnprint(df.describe()) # estatísticas resumidas: mínimo, máximo, média
A saída describe() é sua primeira oportunidade de verificar: se o valor máximo da velocidade do motor for 45.000 rpm (motor de passageiro típico ~7.000 rpm), há uma falha na unidade ou no sensor.
Os comandos do pandas usados com mais frequência na etapa de auditoria e o que eles fazem:
comando
O que faz
O que isso confirma?
df.forma
Número de linhas/colunas
É o tamanho esperado?
df.dtypes
Tipos de coluna
A coluna numérica se tornou texto?
df.isna().sum()
Contagem de valores ausentes
Quanto espaço existe?
df.describe()
Mín/máx/média
É fisicamente razoável?
df.duplicado().sum()
linha duplicada
Existe dupla inscrição?
# 3) Claro: marque valores fisicamente impossíveis
Cuidado: Não exclua o valor discrepante imediatamente; Primeiro entenda por que é um valor discrepante. É um evento real (aquecimento repentino) ou falha do sensor? Excluir cegamente pode ocultar a falha real.
# 4) Recurso de extração: taxa de aumento de temperatura (derivado)df = df.sort_values("time")df["sic_increase_speed"] = df["motor_sic"].diff() / df["time"].diff().dt.total_seconds()# 5) Visualização simplesimportar matplotlib.pyplot como pltplt.plot(df["time"], df["motor_sic"])plt.xlabel("Tempo"); plt.ylabel("Temperatura do motor (C)")plt.title("Curso de temperatura do motor")plt.show()
Prevenindo vazamento de dados em Python
O erro mais perigoso na construção de um modelo de previsão é o vazamento de dados (unidade 5): quando o modelo vê informações que não podem ser conhecidas no momento da previsão. A regra de ouro para evitar isso em séries temporais: treinar com o passado, testar com o futuro – sem embaralhamento aleatório.
from sklearn.model_selection import train_test_split# FALSO: dividir aleatoriamente a série temporal vaza o futuro# df[df["time"] > limite] # últimos 20% do futuro
Cuidado: train_test_split embaralha os dados por padrão (shuffle=True). Na série temporal, isto confunde o futuro com a educação e produz uma pontuação falsamente alta. Se a IA fez isso no código que produz, certifique-se de corrigi-lo.
Consistência da unidade: assassino silencioso
Os erros mais insidiosos no setor automotivo são erros de unidade: km/h para m/s, Nm para lb-ft, bar para kPa, °C para K. Manter um dicionário de qual é a unidade de cada coluna na análise e anotar as conversões claramente salva vidas.
# Documente as unidades explicitamente = {"speed": "km/h", "motor_sic": "C", "pression": "bar"}# Conversão explícita se necessário (km/h -> m/s)df["speed_ms"] = df["speed"] / 3.6
Miniestudos de caso
Caso 1 - Erro detectado com description(). Um analista executa o código da IA e faz uma estimativa de alcance; O resultado é absurdamente alto. Quando olhamos para a saída describe(), vemos que a capacidade da bateria é inserida em Wh em algumas linhas e em kWh em outras (diferença de 1000 vezes). Quando a unidade é uniformizada, o resultado melhora. Conclusão: Um simples resumo estatístico evitou uma previsão ruim.
Caso 2 – Armadilha de confusão. O modelo de desgaste dos freios de um estagiário foi 98% preciso no conjunto de testes. Quando o código é examinado, pode-se ver que train_test_split(shuffle=True) e a série temporal estão misturadas, o que significa que pontos futuros vazam para o treinamento. Quando dividido pelo tempo, a precisão cai para 80%, mas agora é realista. Conclusão: só porque o código de IA funcionou, não estava certo; Humano percebeu o vazamento.
Caso 3 – Compreendendo o outlier. Em um registro de durabilidade, o código AI exclui automaticamente valores de deformação discrepantes. O engenheiro analisa os pontos excluídos; Esses eram exatamente os momentos de início do crack que interessavam ao teste. A exclusão é removida e as violações são levadas para revisão separada. Resultado: Em "Limpeza" o sinal real pode ser apagado; questione cada passo.
modelos de prompt
Modelo 1 – Código de solicitação (com explicação):
Função: Você é um mentor de analista de dados Python. Tarefa: Escrever código que carrega e verifica um CSV de telemetria. Contexto: Colunas: tempo, velocidade (km/h), motor_sic (C), revolução (rpm). Restrição: comentar cada linha; Explique qual verificação foi feita e por quê; adicionar verificação de valor fisicamente impossível; excluindo nada silenciosamente. Saída: código comentado + qual saída devo analisar e por quê.
Modelo 2 – Inspeção de vazamentos:
Função: você é um revisor de código de aprendizado de máquina. Tarefa: Verifique o código de divisão de treinamento/teste a seguir quanto a vazamentos de dados. Contexto: Esta é uma série temporal (telemetria veicular). Restrição: Avisar se houver embaralhamento aleatório; Sugira e justifique a divisão por tempo. Saída: descobertas + código corrigido + explicação.
Modelo 3 – Validação da unidade:
Função: Você é um auditor de qualidade de dados. Tarefa: Sugira verificações que procurem inconsistências de unidades em um DataFrame. Contexto: A capacidade pode ser kWh em algumas linhas e Wh em outras. Saída: Verifique o código + como encontrar o padrão suspeito.
Modelo 4 – Visualização + comentário:
Função: você é um especialista em visualização de dados. Tarefa: Escreva um código que represente graficamente o curso da temperatura do motor e a taxa de aumento. Restrição: Rotule os eixos com a unidade; marcar visualmente a anomalia; não alegue uma falha definitiva ao interpretar o gráfico. Saída: Código + o que procurar no gráfico.
Alerta fraco / Alerta forte
Alerta fraco:
Construa um modelo com esses dados.
Não está claro qual alvo, qual compartimento, qual verificação; A IA pode gerar código embaralhado, com vazamento e cego à unidade.
Alerta poderoso:
Função: você é um mentor de Python ML. Tarefa: Escreva um fluxo de trabalho inicial para prever o desgaste das pastilhas de freio e demonstrar as armadilhas da validação. Contexto: Telemetria de séries temporais; alvo: espessura restante da almofada. Restrição: dividir a série temporal por tempo (sem embaralhamento); sinalizar atributos em risco de vazamento de dados; documentar unidades; interpretar cada etapa; Anote quais verificações são necessárias antes que o resultado vá para o campo. Saída: Código comentado + lista de verificação de verificação.
Erros comuns
- Executar o código sem entendê-lo. O código AI também pode estar com defeito; Leia linha por linha.
- Misturando séries temporais. shuffle=True vaza o futuro e produz uma pontuação falsa.
- Exclua cegamente o outlier. O sinal real (início da falha) pode ser apagado.
- Não documentar a unidade. Erros como km/h vs m/s, Wh vs kWh crescem silenciosamente.
- Ignorando a etapa de descrição()/verificação. A maioria dos erros aparece nas primeiras estatísticas resumidas.
Em resumo
- Python (pandas, numpy, matplotlib, scikit-learn) é o padrão de fato para análise de dados automotivos.
- Análise repetível: carregar, inspecionar, limpar, caracterizar, analisar, validar e relatar.
- É fundamental compreender e verificar o código que a IA produz linha por linha; Só porque funciona não significa que esteja certo.
- Manter distinção passado/futuro em séries temporais; O embaralhamento aleatório cria vazamento de dados.
- A consistência da unidade e a interpretação de valores discrepantes são pontos de verificação silenciosos, mas críticos.
Tarefa de aplicativo
Pegue um pequeno conjunto de dados (telemetria real ou sintética). (1) Seguindo a estrutura de seis etapas, gere o código de carregamento e controle com o Modelo 1 e confirme se você entendeu cada linha. (2) Encontre pelo menos um valor suspeito na saída describe() e investigue o porquê. (3) Em uma tarefa de previsão, cronometre a divisão de treinamento/teste e verifique o risco de vazamento com o Modelo 2. (4) Documente a unidade de cada coluna usada em um dicionário.
lista de verificação
- [] Eu configurei a análise com uma estrutura de seis etapas.
- [] Li e entendi o código produzido pela IA linha por linha.
- [] Procurei valores suspeitos com description()/audit.
- [] Dividi a série temporal por tempo (sem embaralhamento).
- [ ] Marquei os atributos que correm risco de vazamento de dados.
- [] Documentei a unidade de cada coluna e escrevi as conversões explicitamente.