Mineração de Dados Felipe Carvalho – UFES 2009/2 Motivação • Grandes volumes de dados disponíveis, que dificultam a análise humana sobre os mesmos. – BD Amazon ~ 100 TB – BD da NASA: recebe de satélites 50 GB por hora – http://www.archive.org: um petabyte de dados • “cemitério” de dados: dados raramente visitados. • Necessidade de transformar estes dados em informação útil. Motivação – Aumento dos dados • Inviabilidade de análise humana dos dados • Muito tempo para se descobrir alguma informação útil 4,000,000 3,500,000 3,000,000 2,500,000 2,000,000 1,500,000 1,000,000 Total novos discos (TB) desde 1995 Quant. de analistas 500,000 0 1995 1996 1997 1998 1999 De: R. Grossman, C. Kamath, V. Kumar, “Data Mining for Scientific and Engineering Applications” Exemplo da Wall Mart • O que fraldas tem a ver com cerveja? – Premissas dos gerentes das lojas: • Mães compram fraldas seção feminina e de bebês. • Homens compram cervejas seção masculina e bebidas. – O Terada Warehouse Miner fez a seguinte sugestão: • Coloquem a seção de fraldas ao lado da seção de cervejas. – Resultado: • As vendas de cerveja cresceram 30%. • As vendas de fraldas cresceram 40%. – Porque? • Homens casados, entre 25 e 30 anos, compram fraldas e/ou cervejas no final das tardes de sexta-feira no retorno do trabalho para casa. O que é mineração de dados? • Uso de técnicas, preferencialmente automáticas, de exploração de grandes quantidades de dados de forma a descobrir novos padrões e relações que, devido ao volume de dados, não seriam facilmente descobertos a olho nú pelo ser humano (Carvalho, 2001). O que a Mineração de Dados não faz? • A mineração de dados não irá automaticamente descobrir soluções sem nenhuma orientação. • A mineração de dados pode encontrar padrões interessantes, mas não lhe diz o valor de tais padrões. • A mineração de dados não infere causalidades – Por exemplo, poderá ser determinado que os homens que têm um determinado rendimento e que se exercitam regularmente são prováveis compradores de um determinado produto. No entanto, isso não significa que esses fatores o levaram a comprar o produto, somente significa que a relação existe. Etapas da Mineração de Dados • 0: definição precisa do problema • 1: exploração inicial – Limpeza de Dados • Identificação e eliminação dos dados inconsistentes: Masculino = Sim, grávida = Sim – Seleção de dados • Definido por um especialista do domínio. – Transformação dos Dados • Substituição de valores discrepantes pelo valor médio dos dados amostrais. • Normalização dos dados • 2: Construção do modelo e validação – Para cada problema existe um melhor modelo para resolução • 3: Aplicação do modelo Construção do Modelo e Validação • Representação de modelos do mundo real • Um modelo tem uma ou mais entradas e produz uma ou mais saídas • Modelos: – – – – Resultado_Expr := B0 + B1*X1 + B2*X2 + B3*X3 If/then/else Árvores de decisão Redes neurais • Para a validação escolhemos um subconjunto para amostragem e avaliamos o desempenho e os padrões identificados pelo modelo. Descrição das Atividades • Atividades supervisionadas: – buscam identificar a classe de uma nova amostra de dados, a partir do conhecimento adquirido de um conjunto de amostras com classes conhecidas. – Exemplo: se ocorrer uma determinada composição de medidas meteorológicas, então existe 80% de chance de ocorrer um nevoeiro. • Atividades não-supervisionadas: – trabalham com um conjunto de dados que não possuem uma classe determinada, buscando identificar padrões de comportamento comuns nestes dados. – Exemplo: disponibilizar fraldas descartáveis ao lado das cervejas em mercados que abrem a noite. Técnicas de Mineração de Dados • Classificação - Classificar um objeto é determinar com que grupo de entidades, já classificados anteriormente, esse objeto apresenta mais semelhança. • Estimação - Estimar um atributo é avaliá-lo tendo como base casos semelhantes nos quais esse atributo esteja presente (consulta a base de conhecimento). • Previsão - A previsão consiste na determinação do valor futuro de um atributo, baseando-se em registros antigos deste atributo. • Análise de Afinidades - Preocupa-se em descobrir que elementos dos eventos têm relações no tempo. O objetivo da análise de afinidade é encontrar quais produtos ou serviços os consumidores buscam conjuntamente. • Análise de Agrupamento - Baseado em medidas de semelhança, definir quantas e quais classes existem em um conjunto de dados. Classificação – Árvore de Decisão Yes Percent >= 90%? Grade = A Yes Grade = B Grade = C Yes No 89% >= Percent >= 80%? No 79% >= Percent >= 70%? No Etc... Árvore de Decisão – Exemplo Árvore de Decisão – Exemplo • Árvore de decisão representada sob a forma de regras de decisão: • se TEMPO = Sol então – se UMIDADE = Alta então • JOGA-TÊNIS = Não – senão JOGA-TÊNIS = Sim • senão • se TEMPO = Nublado então – JOGA-TÊNIS = Sim • senão • se VENTO = Forte então – JOGA-TÊNIS = Não • senão JOGA-TÊNIS = Sim Estimação – Redes Neurais • Exemplo 1: Estimar a renda média de uma família com base em seus bens duráveis informados em um questionário. • Exemplo 2: Estimar o valor de uma residência, através de alguns dados de entrada: Previsão – Time Series Análise de Afinidades – Regras de Associação Cliente Itens comprados 1 fralda, refrigerante 2 leite, fralda, suco 3 fralda, detergente 4 fralda, detergente, refrigerante 5 suco, refrigerante Compra de produtos conjuntamente fralda suco leite refrigerante detergente fralda 4 1 1 2 2 suco 1 2 1 1 0 Leite 1 1 1 0 0 refrigerante 2 1 0 3 1 detergente 2 0 0 1 2 Análise de Afinidades – Regras de Associação • Padrões Identificados: • 1. fralda e refrigerante são mais comprados conjuntamente do que qualquer outros itens • 2. detergente nunca é comprado com leite ou suco • 3. leite nunca é comprado com refrigerante ou detergente Análise de Agrupamento – K-Means Clustering • O algoritmo seleciona K pontos randomicamente e os pontos restantes são agrupados a um desses k pontos. Exemplo com K = 3: Análise de Agrupamento – K-Means Clustering • Exemplo das cartas de baralho – K = 2 e k = 4.