Data Mining
A mineração de dados encontra padrões, associações, agrupamentos e anomalias em grandes conjuntos de dados usando estatística e aprendizagem de máquina; é a etapa de análise do KDD.
Mineração de dados é o processo de descobrir padrões úteis em grandes conjuntos de dados, como itens que ocorrem juntos, grupos naturais, regras preditivas e registros incomuns, usando estatística, aprendizado de máquina e técnicas de banco de dados. Formalmente, mineração de dados é a etapa de análise da descoberta de conhecimento em bancos de dados (KDD), que Usama Fayyad, Gregory Piatetsky-Shapiro e Padhraic Smyth descreveram em 1996 como uma sequência de seleção de dados, pré-processamento de dados, transformação, mineração e interpretação dos resultados.
O processo de mineração de dados#
Um modelo de processo amplamente usado é o CRISP-DM, Processo Padrão Intersetorial para Mineração de Dados, apresentado pela primeira vez em 1999 por um consórcio que incluía Teradata, Daimler e NCR. Suas seis fases retornam umas às outras sempre que uma fase posterior revela uma lacuna em uma anterior:
A preparação dos dados, que inclui limpeza de dados, junção de fontes e engenharia de atributos, costuma ser a fase mais longa, e a modelagem leva a equipe de volta a ela sempre que um padrão se revela um artefato causado por registros ausentes ou duplicados.
Técnicas principais#
- Aprendizado de regras de associação: encontra itens ou eventos que ocorrem juntos, como na análise de cesta de compras. O algoritmo Apriori, criado por Rakesh Agrawal e Ramakrishnan Srikant em 1994, tornou essa técnica prática em grandes bancos de dados transacionais.
- Agrupamento com k-means ou DBSCAN: agrupa registros semelhantes sem rótulos, como segmentos de clientes ou imagens parecidas, como forma de aprendizado não supervisionado.
- Classificação com árvores de decisão: aprende regras que atribuem registros a categorias conhecidas, como aprovar ou sinalizar um pedido de empréstimo, com base em dados históricos rotulados.
- Detecção de anomalias: sinaliza registros que diferem bastante dos demais, como transações fraudulentas com cartão ou uma máquina cujas leituras de sensores se desviam do normal.
- Mineração de padrões sequenciais: encontra padrões ordenados, como os caminhos de páginas que mais frequentemente levam a uma compra.
As regras de associação são avaliadas com três números. O suporte é a proporção de transações que contêm ambos os itens, a confiança é a proporção de transações com o item A que também contêm o item B, e o lift divide a confiança pela frequência do item B, de modo que um lift acima de 1 significa que A e B ocorrem juntos com mais frequência do que seria esperado ao acaso. Este exemplo calcula a pontuação de cada par de produtos em oito cestas de compras com pandas:
from itertools import permutations
import pandas as pd
# Eight shopping baskets, one column per product
baskets = pd.DataFrame(
[[1, 1, 0, 1], [1, 1, 0, 0], [0, 1, 1, 0], [1, 1, 1, 1], [1, 0, 0, 1], [0, 0, 1, 0], [1, 1, 0, 1], [0, 1, 1, 0]],
columns=["bread", "butter", "milk", "jam"],
).astype(bool)
# Score every rule "A -> B" and keep frequent rules that beat chance
for a, b in permutations(baskets.columns, 2):
support = (baskets[a] & baskets[b]).mean() # share of baskets with both items
confidence = support / baskets[a].mean() # share of A baskets that also hold B
lift = confidence / baskets[b].mean() # confidence relative to B's base rate
if support >= 0.25 and lift > 1:
print(f"{a} -> {b}: support {support:.2f}, confidence {confidence:.2f}, lift {lift:.2f}")O código imprime quatro regras. A regra pão → manteiga tem alta confiança, de 0,80, mas um lift de apenas 1,07, porque manteiga já está em três de cada quatro cestas, enquanto pão → geleia tem a mesma confiança e um lift de 1,60. A regra leite → manteiga tem confiança de 0,75 e lift exatamente igual a 1,00, por isso o filtro a descarta.
Mineração de dados em visão computacional#
Coleções de imagens e vídeos são analisadas para encontrar os exemplos mais importantes para um modelo. A mineração de exemplos negativos difíceis seleciona regiões de fundo que um detector classifica incorretamente como objetos e as usa novamente no treinamento, enquanto o aprendizado ativo analisa conjuntos sem rótulos em busca das imagens sobre as quais um modelo tem menos certeza. A mineração dos registros de detecção de um sistema implantado revela tipos recorrentes de defeitos em uma linha de produção ou os horários de pico em uma loja, e embeddings permitem que as equipes agrupem milhões de imagens por conteúdo para encontrar duplicatas e lacunas.
A Ultralytics Platform minera conjuntos de dados dessa forma com seu painel Clustering, que calcula um embedding para cada imagem e projeta o conjunto de dados em um gráfico de dispersão 2D interativo, no qual imagens visualmente semelhantes ficam próximas umas das outras. Assim, os usuários podem colorir os pontos por divisão, classe ou agrupamento, identificar duplicatas e valores atípicos e selecionar uma região com o laço para inspecionar, rotular novamente ou mover essas imagens.
Mineração de dados vs. termos relacionados#
- Aprendizado de máquina: cria modelos que generalizam para novos dados. A mineração de dados aplica muitos dos mesmos algoritmos com o objetivo de descrever padrões nos dados existentes.
- Análise de dados: a prática mais ampla de responder a perguntas com dados, que inclui a mineração de dados, além de relatórios e interpretação.
- Visualização de dados: apresenta dados e padrões descobertos graficamente para que as pessoas possam interpretá-los.
- Web scraping: coleta dados de sites. No uso popular, às vezes isso é chamado de mineração de dados, mas, em sentido técnico, mineração é a análise que ocorre depois da coleta.










