Unidade 2 / 11

Coleta de dados e compreensão da fonte: esquema, amostragem, qualidade e conscientização sobre vazamentos

Ganhos:

  • Capacidade de reconhecer diferentes fontes de dados (banco de dados, API, arquivo, web scraping) e as armadilhas de cada uma e compreender o esquema corretamente
  • Capacidade de realizar amostragem repetível avaliando se a amostra representa a população e o viés de seleção
  • Capacidade de eliminar o vazamento de dados na fase de coleta e observar os limites legais/éticos, fazendo a pergunta 'Terei isso no momento da previsão' em cada coluna?

Cada análise é tão boa quanto a qualidade dos dados coletados. Mesmo o modelo mais avançado do mundo produzirá resultados pouco fiáveis ​​se funcionar com dados recolhidos incorretamente, amostrados de forma tendenciosa ou que contenham informações sobre o futuro. Na ciência da computação, esse princípio é resumido como “entra lixo, sai lixo” (entra lixo, sai lixo). Nesta unidade, abordaremos a fase de coleta de dados: compreender a fonte, amostragem, fazer perguntas de qualidade e estar alerta ao risco de vazamento de dados desde o primeiro dia. A inteligência artificial é uma ajuda poderosa nesta fase; Escreve consultas SQL, resume documentos de API, elabora contratos de dados. Mas é o ser humano quem decide quais dados você coleta e se esses dados representam você.

Conhecendo fontes de dados

Os dados vêm de lugares diferentes e cada fonte tem suas próprias armadilhas. Banco de dados (dados estruturados armazenados em tabelas, geralmente consultados com SQL) é a fonte mais comum; É confiável, mas é necessário entender bem o seu esquema. API (Application Programming Interface) fornece dados em tempo real, mas traz o risco de limites de velocidade e alterações de formato. Arquivos (CSV, Excel, JSON) são flexíveis, mas propensos a inconsistências de formato. A raspagem na Web é poderosa, mas tem limites legais e éticos; Nem todo site pode ser copiado.

Atenção: Para web scraping e coleta automática de dados, cumpra os termos de uso do site, arquivo robots.txt e KVKK/GDPR. A coleta de dados não autorizada cria responsabilidade legal. No contexto da segurança da informação, utilize ferramentas de recolha de dados apenas em sistemas para os quais está autorizado e para fins de defesa/análise; O acesso não autorizado ou raspagem é proibido.

Compreendendo o esquema: familiarizando-se com os dados

Antes de coletar um conjunto de dados, você deve compreender seu esquema (os nomes das colunas, seus tipos de dados, seus significados e seus relacionamentos entre si). A IA é muito útil aqui na criação de um “dicionário de dados” – uma tabela que explica o que cada coluna significa. Mas as explicações que a IA produz são previsões; Confirme o verdadeiro significado de cada coluna com a equipe que produziu os dados. Por exemplo, uma coluna denominada "status" pode conter 0/1/2; Somente a equipe de origem sabe se estão "pendentes/aprovados/cancelados" ou algo mais.

A tabela a seguir resume os tipos de recursos básicos e cuidados:

Fonte

ponto forte

armadilha

Como a IA ajuda

Banco de dados SQL

Estrutural, confiável

JOINs complexos

Escreve um rascunho de consulta

API

dados ao vivo

Limite de velocidade, mudança de forma

Resumos de documentos, pull code

CSV/Excel

Flexível, rápido

Inconsistência de formato

Ler/analisar código

raspagem da web

Amplo alcance

Limite legal/ético

Rascunho de análise (dentro da autoridade)

Dados de registro/evento

detalhado

enorme volume

Consulta de filtragem

Ilustração: a parte representa o todo?

Na maioria das vezes, você trabalha com uma amostra (um subconjunto selecionado da população) em vez de com os dados inteiros. A questão crítica é: esta amostra representa a população? O viés de seleção é a armadilha mais comum. Por exemplo, se você fizer amostras apenas de usuários do aplicativo móvel, não verá usuários da Web e seus resultados serão enganosos. A amostragem aleatória (cada registro tem chances iguais de ser selecionado) é mais segura na maioria dos casos; mas em dados de séries temporais, a divisão é feita cronologicamente e não aleatoriamente (veremos isso nas Unidades 7 e 10).

Conscientização sobre vazamento desde o primeiro dia

O vazamento de dados é a fonte da maioria dos desastres e geralmente ocorre durante a fase de coleta de dados. Exemplo: ao prever “foi cancelado”, se você adicionar a coluna “data de cancelamento” aos dados, o modelo olha para o futuro. Durante a fase de coleta, faça uma pergunta para cada coluna: “Terei realmente essas informações no momento em que fizer a previsão?” Se a resposta for não, essa coluna está vazando. Abordaremos este tópico em profundidade na Unidade 10; Mas a conscientização deve começar desde o primeiro dia.

três mini cases

Caso 1 — O problema da representação. Um banco recolheu dados apenas sobre empréstimos aprovados para o seu modelo de risco de crédito (18.500 registos). As rejeições não estavam nos dados. O modelo estava errado no mundo real porque nunca viu como os rejeitados se comportariam. Lição: a amostra deve ser representativa de toda a população a partir da qual você está tomando sua decisão.

Caso 2 — Mudança silenciosa de forma. Uma equipe extraía dados de preços de uma API todos os dias. Um dia, o fornecedor da API mudou a moeda de USD para EUR, mas o nome de domínio permaneceu o mesmo. Os dados foram coletados na unidade errada por 12 dias; 3.200 linhas foram corrompidas. Lição: Verifique regularmente a consistência do volume e do formato nos dados da API.

Caso 3 — Vazamento precoce. Um analista incluiu a coluna “motivo do encerramento da conta” ao coletar dados para uma estimativa de “rotatividade”. Esta coluna foi preenchida somente após a saída do cliente. O modelo rendeu 97% de precisão no conjunto de teste; Não funcionou na produção porque a coluna estava vazia no momento da previsão. Lição: faça a cada coluna a pergunta "eu tenho isso no momento da previsão?"

Quatro modelos copiáveis

1) Extração de dicionário de dados:

Sua função: assistente de cientista de dados. Abaixo estão os nomes das colunas e valores de amostra (anônimos) de uma tabela. Para cada coluna, liste seu significado estimado, tipo de dados e riscos potenciais de qualidade em uma tabela. Marque as colunas das quais você não tem certeza como “confirmação necessária”; construção de significado. Colunas: [cole aqui]

2) Código de amostragem (aleatório, repetível):

Eu tenho pandas df. Escreva um código que extraia uma amostra aleatória representativa de 5% de 200.000 linhas. Use random_state=42 (para reprodutibilidade). Adicione código para verificar se a distribuição de classes da amostra é semelhante à da população.

3) Pergunta sobre verificação de vazamento:

Vou te dar esta lista de colunas. Meu objetivo é prever "está cancelado" (0/1). Para cada coluna, avalie se realmente a terei no momento da previsão e marque-a como “segura/suspeita/vazamento”. Escreva seu raciocínio em uma frase. Colunas: [lista]

4) Rascunho de consulta pull SQL:

Tenho tabelas "pedidos" e "clientes" no PostgreSQL. Escreva uma consulta JOIN que combine os pedidos dos últimos 90 dias com a cidade do cliente e retorne o valor total e o número de pedidos por cidade. Explique o filtro de data e como as cidades NULL são tratadas. Vou executar a consulta e verificá-la.

Alerta fraco / Alerta forte

Alerta fraco:

Obtenha-me uma boa amostra de dados deste banco de dados.

“Bom” é ambíguo; Qual pintura, qual período, qual tamanho, qual finalidade não está claro. A IA produzirá apenas uma consulta genérica, possivelmente errada.

Alerta poderoso:

Sua função: assistente SQL. Eu tenho uma tabela de "transações": colunas id, customer_id, data (timestamp), valor (numérico), canal (texto: 'web'/'mobile'). Tarefa: Escreva uma consulta repetível (determinística com ORDER BY) que retorne 10.000 linhas representativas de cada canal para o ano de 2024. Objetivo: análise comparativa de canais. Liste as suposições de sua consulta.

Aqui a tabela, a finalidade, o tamanho e a repetibilidade ficam claros.

Erros comuns

  • Não questionando a representatividade da amostra. Dados facilmente acessíveis não são dados precisos; o viés de seleção distorce o resultado.
  • Adaptando os significados das colunas à IA. A equipe de origem conhece o significado; Não use a previsão da IA ​​sem confirmá-la.
  • Não rastreando alterações no formato/unidade da API. A mudança silenciosa coleta dados corrompidos por dias.
  • Ignorando o vazamento na fase de coleta. Se a pergunta “Tenho isso no momento da previsão” não for feita antecipadamente, o modelo dará um falso sucesso.
  • Coleta de dados não autorizados ou ilegais. A violação do robots.txt, dos termos de uso e do KVKK é um risco sério.
Dica: Mantenha um “cartão de dados” de uma página para cada nova fonte de dados: origem, data de extração, número de linhas, limites conhecidos e colunas com risco de vazamento. Este cartão salva a pergunta "quais foram esses dados" e a reprodutibilidade meses depois.

Em resumo

A qualidade da análise é limitada pela qualidade dos dados recolhidos. Conheça bem a fonte (banco de dados, API, arquivo, scrape) e esquema; certifique-se de que a amostra seja representativa da população; Elimine o vazamento desde o primeiro dia perguntando a cada coluna “eu tenho isso no momento da previsão?” A IA é um grande acelerador para o trabalho de consulta e documentação, mas são os seres humanos que decidem quais dados coletar e sua representatividade. Os limites de autoridade, lei e confidencialidade estão sempre em primeiro lugar.

Tarefa de aplicativo

Escolha uma fonte de dados (da sua própria empresa ou hipotética). Obtenha um rascunho de um dicionário de dados da IA ​​com o modelo de “extração de dicionário de dados” acima; Em seguida, avalie manualmente cada coluna para ver se houve vazamento. Tente encontrar pelo menos uma coluna suspeita/vazamento e escreva em uma frase por que é arriscado.

lista de verificação

  • [] Confirmei a fonte de dados e o esquema com a equipe de origem?
  • [ ] Verifiquei se a amostra é representativa da população?
  • [ ] Fiz a pergunta a cada coluna "Terei no momento do orçamento?"
  • [ ] Tornei a amostragem repetível (semente fixa)?
  • [ ] Verifiquei os limites legais/éticos (autoridade, robots.txt, KVKK) de coleta?