softwares de mineração de dados adalberto de farias falcão jr ana isabel bezerra cavalcanti
TRANSCRIPT
Softwares de Mineração de Dados
Adalberto de Farias Falcão Jr Ana Isabel Bezerra Cavalcanti
Sumário
• 1. Introdução• 2. KDD e Data Mining• 3. Um esquema de classificação• 4. O software BayesiaLab• 5. Conclusões
Introdução
• Motivação para o desenvolvimento das técnicas de KDD e Data Mining – desafio da tomada de decisão face ao acúmulo de um grande volume de dados
• Softwares de KDD e Data Mining – extração automática do conhecimento estratégico em grandes bases de dados ajuda o analista na tomada de decisão
Introdução
• Em anos recentes – softwares de KDD e Data Mining usados principalmente em estágio experimental ou de pesquisa
• Atualmente – crescimento expressivo do mercado de softwares de KDD e Data Mining voltados para aplicações empresariais
Introdução• Objetivos da apresentação:• Discutir os processos de KDD e Data Mining• Fornecer um esquema de classificação para o
estudo dos softwares de KDD e Data Mining• Analisar ferramentas existentes à luz do
esquema proposto• Identificar as características que um software
deve possuir para atender às necessidades dos usuários
KDD e Data Mining
• KDD – processo de descoberta de padrões novos, válidos, potencialmente úteis e em última análise, compreensíveis, em uma base de dados
• Data Mining – extração de padrões ou modelos a partir de dados observados
• Data Mining – uma etapa (importante) no processo geral de KDD
KDD e Data Mining• Características a analisar – ponto de vista do
processo de KDD:• Capacidade de acesso a diversas fontes de dados• Acesso On line/Off line• Modelo de dados sub-jacente• Número máximo de tabelas/linhas/atributos• Tamanho máximo da base de dados a ser manipulada
confortavelmente• Tipos de atributos a serem manipulados• Linguagem de interrogação
KDD e Data Mining• Características a analisar – ponto de vista
das tarefas de Data Mining:• Processamento de dados• Previsão• Regressão• Classificação• Clustering• Análise de associações• Visualização• EDA (Exploratory Data Analysis)
KDD e Data Mining• Características a analisar - ponto de vista da
metodologia de Data Mining:• Métodos estatísticos• CBR (Case-Based Reasoning)• Redes neurais• Árvores de decisão• Indução de regras• Redes bayesianas• Algorítmos genéticos• Fuzzy Sets• Rough Sets
Um Esquema de Classificação
• Características gerais
• Conectividade da base de dados
• Características de Data Mining
Um Esquema de Classificação• Características gerais• Produto: Nome do vendedor• Status: P = Comercial, A = Alpha, B = Beta, R = Protótipo de Pesquisa• Status Legal: PD = Domínio Público, F = Freeware, S = Shareware, C =
Comercial• Licença Acadêmica• Demo: D = versão demo disponível para download, R = versão demo
disponível sob demanda, U = disponibilidade desconhecida• Arquitetura: S = Standalone, C/S = Cliente/Servidor, P = Processamento
Paralelo• Sistemas operacionais
Um Esquema de Classificação • Conectividade da base de dados• Formatos: T = ASCII (Texto), D = Dbase, P = Paradox, F = Foxpro,
Ix = Informix, O = Oracle, Sy = Sybase, Ig = Ingres,• A = Access, OC = Open Database Connection (ODBC), SS = SQL
Server, Ex = Excel, L = Lotus 1-2-3• Conectividade: Onl = On line, Offl = Off line• Tamanho: S = Pequeno (até 10.000 registros), M = Médio (de
10.000 a 1.000.000 de registros), L = Grande (mais de 1.000.000 de registros)
• Modelo: R = Relacional, O = Orientado a Objetos, 1 = Tabela• Atributos: Co = Contínuos, Ca = Categóricos, S = Simbólicos• Linguagem de interrogação: S = SQL ou derivados, Sp =
linguagem de interface específica à aplicação, G = GUI, N = Não aplicável, U = Desconhecida
Um Esquema de Classificação
• Características de Data Mining• Tarefas de Descoberta: Pre = Preprocessamento, P =
Previsão, Regr = Regressão, Cla = Classificação, Clu = Clustering, A = Análise de Associações, Vis = Modelo de Visualização, EDA = Exploratory Data Analysis
• Metodologia de Descoberta: NN = Redes Neurais, GA = Algorítmos Genéticos, FS = Fuzzy Sets, RS = Rough Sets, St = Métodos Estatísticos, DT = Árvores de Decisão, RI = Indução de Regras, BN = Redes Bayesianas, CBR = Case-Based Reasoning
• Interação Humana: A = processo autônomo, G = processo guiado pelo ser humano, H = altamente interativo
Um Esquema de Classificação
• Características gerais• Produto Status de Prod. Status Legal Lic. Acad. Demo Arq. Sistema Oper. • AutoClass C (Nasa) P PD - D S,P Unix,Dos• BayesiaLab P PD - D S Win• BusinessMiner (Business Objects) p C N N S Win• IND (Nasa) P C D N S Unix• Intelligent Miner (IBM) P C S R C/S,S,P MF,Unix,Win,OS• MineSet (Silicon Graphics) P C S N C/S,S Unix• MLC++ (Silicon Graphics) P F - D S Unix,Win• MSBn (Microsoft) P F - D S Win• PVE (IBM) P C N N S Unix• Ripper (AT&T) P C F D S Unix
Um Esquema de Classificação
• Conectividade da base de dados• Produto Formatos Conectividade Tamanho Modelo Atributos Int.• AutoClass C T,D Offl. L 1 Co,Ca,S N• BayesiaLab T Offl. - 1 Co,Ca,S G• BusinessMinerT,Ex Offl. M R Co,Ca,S S,G• IND T Offl. S 1 Co,Ca,S
N• Intelligent Miner T,D,O,Sy, Onl.Offl. L R Co,Ca,S
S,G• MineSet T,Ix,O,Sy Onl.,Offl. L R Co,Ca,S
S,G• MLC++ T Offl. L R Co,Ca,S
N• MSBN T Offl. S R Co,Ca,S
G• PVE T,D, Offl. M 1 Co,Ca,S
U• Ripper T Offl. L 1 Co,Ca,S
N
Um Esquema de Classificação
• Características de Data Mining• Produto Tarefas Métodos Interação• AutoClass C Pre, Cla, Clu St. A• BayesiaLab P, Cla BN H• BusinessMiner P, Cla, A, Vis DT H• IND P, Regr., Cla DT A• Intelligent Miner Pre, P, Regr., Cla NN, DT H• MineSet Pre, P, Cla, Clu, A, Vis, EDA St., DT, RI, CBR H• MLC++ Pre, P, Regr., Cla, Clu, A, Vis St., DT, RI, CBR G• MSBN P, A, Vis BN H• PVE Pre, P, Regr., Vis, EDA St., H• Ripper P, Regr., A RI A•
BayesiaLab• Ferramenta baseada em redes de crenças bayesianas.• Versão demo disponível na Internet:
http://www.bayesia.com. • Limitações: 31 dias de uso e salvamento de redes com
no máximo 10 nós.• Arquitetura standalone.• Implementada em Java => multiplataforma.• Fontes de dados para mineração: texto ASCII.• Conexão offline com a base de dados.• Modelo suportado: tabela desnormalizada.
Redes bayesianas• São compostas de duas partes:
– Grafo acíclico direcionado: os nós representam variáveis aleatórias; os arcos representam dependências probabilísticas.
Arco de A até B => A é predecessor direto de B.
Uma variável é condicionalmente independente de seus não-descendentes no grafo, dado seus predecessores diretos.– Uma tabela de probabilidade
condicional para cada variável.
Redes bayesianasExemplo:
Tabela de probabilidadecondicional para o nó“Bronchits”
Estrutura da rede.
Redes bayesianas• Uma rede bayesiana é uma maneira
conveniente de representar relação de causalidade. – Ex: Fumar causa bronquite.
BayesiaLab
• A ferramenta possibilita duas abordagens:– Inferência: especialista constrói a rede
com base em conhecimento prévio.– Mineração: extração dos parâmetros ou
de toda a estrutura da rede a partir de exemplos.
BayesiaLab - Inferência
• Primeiro passo: construção da estrutura da rede.– Representação gráfica do conhecimento
prévio sobre o domínio do problema.• Segundo passo: edição das tabelas de
probabilidade condicional.• Terceiro passo: usar a rede construída
para inferir o valor de uma variável alvo, dados os valores observados de outras variáveis.
BayesiaLab - Inferência• Exemplo: a rede do regador de água.
BayesiaLab - Inferência• Construção da representação gráfica
no BayesLab:
BayesiaLab - Inferência• Edição da tabela de probabilidade
condicional para o nó “WetGrass”.
BayesiaLab - Inferência
• Há duas maneiras diferentes de se fazer inferência probabilística:– bottom-up: a partir dos efeitos se
inferem as causas; diagnóstico.– top-down: dadas as causas, computar
as probabilidades dos efeitos; modelos “generativos”.
BayesiaLab - Inferência
• Exemplo de raciocínio bottom-up:– Supondo que saibamos que a grama está
molhada. Há duas possíveis causas para isso: a chuva e o regador.
– Estimar qual a causa mais provável.
BayesiaLab - Inferência
• Probabilidades a posteriori:Chuva = 0,708 Regador = 0,430
• Razão de verossimilhança = 1,647
A priori A posteriori
BayesiaLab - Inferência• Exemplo de raciocínio top-down:
– Qual a probabilidade de a grama estar molhada, dado que o tempo está encoberto?
A priori A posteriori
BayesiaLab - Inferência
• Geração de questionário adaptativo:– Fixada uma variável alvo, esta
funcionalidade ordena as variáveis que trazem maior ganho de informação para esta variável a um menor custo.
– A ordenação é feita pelo valor decrescente da razão entre o ganho de informação e o custo.
BayesiaLab - Inferência• Gerenciamento dos custos.
– Preço associado à observação do valor de um nó.
BayesiaLab - Inferência• Questionário adaptativo.
BayesiaLab - Mineração• Exemplo: extrair uma rede bayesiana de uma base de
diagnósticos de pacientes com doenças no pulmão.• 5000 instâncias.• 9 variáveis:
– VisitAsia: O paciente visitou a Ásia? NoVisit/Visit– Tuberculosis: O paciente tem tuberculose? Absent/Present– Smoking: O paciente é fumante? Smoker/NonSmoker– Cancer: O paciente tem câncer? Absent/Present– TbOrCa: ‘ou’lógico criado para simplificar a tabela de
probabilidades– XRay: Resultado do raio-x. Normal/Abnormal– Bronchitis: O paciente tem bronquite? Absent/Present– Dyspnea: O paciente tem dificudades respiratórias?
Absent/Present– Age: Idade do paciente. Um valor numérico positivo.
BayesiaLab - Mineração• Importação da base de dados.
BayesiaLab - Mineração• Formato das variáveis:
– Contínuo– Discreto– Não-distribuído (não usadas na construção da
rede)
BayesiaLab - Mineração
• As variáveis contínuas devem ser discretizadas.
• Três métodos de discretização:– Intervalos de mesmo comprimento.– Intervalos com a mesma freqüência.– Árvore de decisão: “Indução supervisionada
da discretização mais efetiva com relação a uma variável alvo.”
BayesiaLab - Mineração• Importação concluída: é criado um nó para cada
variável do conjunto de dados.
BayesiaLab - Mineração
• Extração da estrutura da rede: aprendizado não supervisionado de relações probabilísticas (descoberta de associações).
• Três algoritmos disponíveis:– SopLEQ: “Busca baseada numa caracterização global
dos dados e na exploração das propriedades das redes bayesianas equivalentes (rápido).”
– Taboo: “Aprendizado estrutural através Taboo search”.– TabooOrder: “Aprendizado através de Taboo search
com objetivo de encontrar a melhor ordem para os nós (busca mais completa portanto mais demorada).
BayesiaLab• Resultado do SopLEQ:
• De posse da rede minerada, podem se realizar as atividades de inferência descritas anteriormente.
BayesiaLab - Mineração
• Outro exemplo: geração de um classificador Naive Bayes.– Equivalente a uma rede bayesiana onde o nó
alvo é o predecessor direto de todos os outros nós.
– Saber o valor do nó alvo torna todos os outros nós independentes entre si.
BayesiaLab - Mineração• Geração do classificador:
BayesiaLab - Mineração• Naive Bayes resultante:
BayesiaLab - Mineração• Uso do classificador: Batch exploitation.
– Especifica-se uma base de exemplos.– Selecionam-se as colunas com as variáveis que terão
seus valores observados.– É gerado um arquivo com duas informações para cada
exemplo: a classe mais provável afetada pelo classificador e a probabilidade desta classe.
Conclusões
• Apesar do seu rápido crescimento, KDD ainda é uma área de conhecimento emergente.
• Ainda não existem ferramentas que atendam todos os requisitos do processo.
• Alguns aspectos onde se pode evoluir:– Integração de diferentes técnicas– Extensibilidade– Integração maior com banco de dados– Suporte tanto para especialistas em análise
quanto para usuários inexperientes– Gerenciamento de dados em constante
mudança– Tipos de dados não-triviais
Referências• A Brief Introduction to Graphical Models and
Bayesian Networks: http://www.cs.berkeley.edu/~murphyk/Bayes/bayes.html
• Documentação do BayesLab: http://www.bayesia.com
• M. Goebel and Le Gruenwald, A Survey of Data Mining and Knowledge Discovery Software Tools, ACM SIGKDD, June 1999.
• J. Han and M. Kimber. Data Mining: concepts and techniques. Morgan Kaufmann Publishers, 2001.
• T.M. Mitchell. Machine Learning. New York: McGraw-Hill,1997.