Skip to content

1.2. KDD

Knowledge Discovery in Databases (KDD) é o processo de identificar padrões válidos, úteis e compreensíveis em grandes conjuntos de dados, combinando técnicas de mineração de dados, estatística, aprendizado de máquina e gerenciamento de banco de dados. É um processo iterativo e interativo, amplamente utilizado em áreas como ciência de dados, inteligência de negócios e pesquisa científica. O KDD foi formalizado por Fayyad et al. (1996) e é composto por várias etapas, que podem variar ligeiramente dependendo do contexto, mas geralmente seguem a estrutura abaixo. A seguir, as etapas principais:


Etapas do Processo KDD

flowchart TD
    A@{ shape: database, label: "1 - Data Selection"} --> B@{ shape: procs, label: "2 - Data Preprocessing"}
    B --> C@{ shape: notch-pent, label: "3 - Data Transformation"}
    C --> D@{ shape: subproc, label: "4 - Data Mining"}
    D --> E@{ shape: notch-rect, label: "5 - Evaluation and Interpretation"}
    E --> F@{ shape: doc, label: "6 - Presentation and Use of Knowledge"}
    F --> A
    F --> D

1. Data Selection

Descrição Detalhes
Objetivo Identificar e extrair um subconjunto relevante de dados do repositório (banco de dados, data warehouse, etc.) para análise.
Atividades - Compreender o problema de negócio ou a questão de pesquisa.
- Definir os atributos (variáveis) e instâncias (registros) relevantes.
- Filtrar dados com base em critérios específicos, como período de tempo, localização ou tipo de cliente.
Exemplo Em um banco de dados de vendas, selecionar apenas transações de clientes de uma região específica em um determinado ano.
Ferramentas Consultas SQL, ferramentas de ETL (Extract, Transform, Load).
Desafios Garantir que os dados selecionados sejam representativos e suficientes para o problema.

2. Data Preprocessing

Descrição Detalhes
Objetivo Preparar os dados brutos para análise, tratando inconsistências, ruídos e dados ausentes.
Atividades - Limpeza de dados: Corrigir erros (e.g., valores inconsistentes, duplicatas) e tratar valores ausentes (imputação, exclusão ou interpolação).
- Integração de dados: Combinar dados de fontes heterogêneas, resolvendo conflitos de formato ou schema.
- Redução de dados: Eliminar redundâncias ou reduzir dimensionalidade (e.g., usando PCA ou seleção de atributos).
Exemplo Substituir valores nulos em uma coluna de idade por uma média ou mediana, ou normalizar preços para uma mesma moeda.
Ferramentas Pandas (Python), R, scripts de limpeza personalizados.
Desafios Preservar a integridade dos dados e evitar introdução de viés durante a limpeza.

3. Data Transformation

Descrição Detalhes
Objetivo Converter os dados em um formato adequado para as técnicas de mineração.
Atividades - Normalização (e.g., escalonamento para [0,1]) ou padronização (média 0, desvio padrão 1).
- Discretização de variáveis contínuas (e.g., transformar idades em faixas etárias).
- Criação de novas variáveis (feature engineering), como calcular a razão entre duas variáveis.
- Codificação de variáveis categóricas (e.g., one -hot encoding).
Exemplo Transformar uma coluna de datas em variáveis como "dia da semana" ou "mês".
Ferramentas Scikit-learn, SQL, ferramentas de ETL.
Desafios Escolher transformações que maximizem a performance dos algoritmos de mineração.

4. Data Mining

Descrição Detalhes
Objetivo Aplicar algoritmos para extrair padrões, associações, clusters, anomalias ou previsões dos dados.
Atividades - Escolher a técnica de mineração apropriada com base no objetivo (classificação, regressão, clustering, regras de associação, etc.).
- Executar algoritmos, ajustando hiperparâmetros e validando resultados.
- Exemplos de técnicas: Classificação: Árvores de decisão, SVM, redes neurais. Clustering: K-means, DBSCAN. Regras de associação: Algoritmo Apriori. Detecção de anomalias: Isolation Forest.
Exemplo Identificar grupos de clientes com comportamento de compra semelhante usando K-means.
Ferramentas Weka, RapidMiner, TensorFlow, PyTorch.
Desafios Seleção do algoritmo certo, overfitting, escalabilidade em grandes datasets.

5. Pattern Evaluation and Interpretation

Descrição Detalhes
Objetivo Avaliar a validade, utilidade e novidade dos padrões descobertos, interpretando-os no contexto do problema.
Atividades - Usar métricas específicas para avaliar os padrões (e.g., acurácia, precisão, recall, F1-score para classificação; silhouette score para clustering).
- Validar os resultados com especialistas do domínio ou testes estatísticos.
- Filtrar padrões irrelevantes ou redundantes.
Exemplo Verificar se um padrão como "clientes que compram X também compram Y" é estatisticamente significativo e útil para estratégias de marketing.
Ferramentas Visualizações (Matplotlib, Tableau), testes estatísticos.
Desafios Evitar padrões espúrios e garantir que os resultados sejam acionáveis.

6. Knowledge Presentation and Use

Descrição Detalhes
Objetivo Comunicar os resultados de forma clara e utilizá-los para tomar decisões ou resolver problemas.
Atividades - Criar relatórios, dashboards ou visualizações interativas.
- Implementar os padrões em sistemas operacionais (e.g., recomendações em e-commerce).
- Documentar o processo para replicabilidade.
Exemplo Um dashboard mostrando clusters de clientes para direcionar campanhas de marketing personalizadas.
Ferramentas Power BI, Tableau, relatórios em LaTeX ou Markdown.
Desafios Traduzir resultados técnicos para stakeholders não técnicos.

Características do Processo KDD

  • Iterativo: As etapas podem ser revisadas várias vezes (e.g., voltar ao pré-processamento após avaliar padrões insatisfatórios).
  • Interativo: Envolve colaboração entre analistas, especialistas do domínio e sistemas automatizados.
  • Multidisciplinar: Integra conhecimentos de estatística, ciência da computação, aprendizado de máquina e domínio do problema.
  • Focado no usuário: O sucesso depende de alinhar os padrões descobertos com os objetivos do negócio ou pesquisa.

Considerações Adicionais

  • Desafios Comuns:
    • Lidar com big data (volume, velocidade, variedade).
    • Garantir privacidade e ética no uso de dados (e.g., conformidade com LGPD ou GDPR).
    • Escolher algoritmos que escalem bem e sejam robustos a ruídos.
  • Diferença entre KDD e Mineração de Dados: A mineração de dados é uma etapa específica do KDD, enquanto o KDD abrange o processo completo, desde a seleção até a aplicação do conhecimento.
  • Aplicações: Previsão de churn, detecção de fraudes, recomendação de produtos, análise genômica, entre outros.

Resumo

O KDD é um processo sistemático para transformar dados brutos em conhecimento acionável. Suas etapas (seleção, pré-processamento, transformação, mineração, avaliação e apresentação) são interdependentes e requerem uma combinação de técnicas computacionais e conhecimento do domínio.