450 likes | 679 Views
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.
E N D
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 • BusinessMiner T,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 bayesianas Exemplo: Estrutura da rede. Tabela de probabilidade condicional para o nó “Bronchits”
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 A priori A posteriori • Probabilidades a posteriori: Chuva = 0,708 Regador = 0,430 • Razão de verossimilhança = 1,647
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.