A Systematic Approach for Inducing Reliable Classifiers From Data Mines David Moises Barreto dos Santos Universidade Federal de Campina Grande Programa de Pós-Graduação em Informática Mineração de Dados Julho 2003
Roteiro Introdução Conceitos Básicos Caracterização do Problema Algoritmos Naive_Inducer Expert_Inducer Conclusões Bibliografia
Introdução Bancos de dados têm se tornado minas de conhecimento Mal exploradas pelas consultas rotineiras de usuários A mineração de dados (MD) é a área de pesquisa preocupada em explorar minas de uma forma melhor Descoberta de padrões Não-triviais Confiáveis Facilmente assimiláveis O agente de mineração é chamado Minerador
Introdução Modelos de representação de padrões modelos de conhecimento Regras de Associação Regras de Classificação if C then T Um modelo de regras de classificação é denominado classificador conjunção de termos único termo com o atributo pré- determinado (atributo de classificação)
Introdução A literatura trata de diversos algoritmos de indução de regras de classificação, e aspectos pontuais do processo de MD O processo de MD é muito complexo Não existe a melhor técnica de amostragem Banco de Dados Técnica de fragmentação Algoritmo de indução Conhecimento instável Técnicas de fragmentação geram diferentes pares Conjunto de treinamento-Conjunto de teste Conclusão: Não existe uma técnica universal para MD, seja amostragem, fragmentação ou indução modelo de conhecimento
Motivação – O Problema do Processo de MD Banco de Dados Plantação de Soja Amostragem: Convergence Fragmentação: K-fold Cross- Validation Indução: NaiveBayes Minerador 1 Amostragem: Adaptive Incremental Framework Fragmentação: Bootstrap Indução: ID3 Minerador 2 Classificador 1Classificador 2 Necessidade de uma ferramenta que garanta o melhor classificador levando em conta a diversidade de técnicas (talvez seja bastante!!!)
A Idéia Central da Ferramenta Proposta Técnicas de amostragem Técnicas de fragmentação Algoritmos de indução Melhor Classificado r Problema de Classificação Utilização de heurísticas para reduzir o custo de exploração das diversas técnicas Implementação de um framework orientado a objeto permitir que novas técnicas sejam incorporadas com o mínimo de impacto sobre o restante do framework Algoritmo que infere o melhor classificador
Fragmentação XeXe XcXc X ctr X cts X Algoritmo de Fragmentação X c é um banco de dados classificado X e é um conjunto de execução, ou um conjunto de instâncias não classificadas. X ctr X c X cts X c X ctr X cts = X c X ctr X cts = X c X e = X c X e = X
O Processo de MD Extrair amostra X ctr X cts = X c Fragmentar amostra X ctr, X cts Induzir classificador X ctr C Calcular acurácia de teste C X cts Computar acurácia estimada ( X e ) Processo de Mineração de Dados Preparação dos dados Técnicas de amostragem Adaptive Incremental Framework Convergence Técnicas de fragmentação Holdout Bootstrap Algoritmo de indução Prism NaiveBayes Tratamento de dados Desconhecidos Inexistentes Sujos
O Processo de MD Extrair amostra X ctr X cts = X c Fragmentar amostra X ctr, X cts Induzir classificador X ctr C Calcular acurácia de teste C X cts Computar acurácia estimada ( X e ) Processo de Mineração de Dados Preparação dos dados O classificador deve ser testado com cada instância do conjunto de teste X cts O teste bem sucedido: quando o classificador mapeia a instância para uma classe que é a mesma classe da instância no conjunto de teste Fórmula para calcular a acurácia:, instância X cts
O Processo de MD Extrair amostra X ctr X cts = X c Fragmentar amostra X ctr, X cts Induzir classificador X ctr C Calcular acurácia de teste C X cts Computar acurácia estimada ( X e ) Processo de Mineração de Dados Preparação dos dados A acurácia de execução, acc e, é calculada em função de acc ts, considerando um determinado grau de confiança z N é o número de instâncias utilizadas para o cálculo da acurácia de teste acc ts Para uma confiança de 90%, z=1,65
Algoritmo Naïve_Inducer Investiga exaustivamente todas as técnicas disponíveis, de todos os tipos (Ingênuo) Escolhe o melhor classificador Melhor acurácia estimada de execução A1A2A1A2 F1F2F3F1F2F3 I1I2I3I1I2I3
Experimentos com Naïve_Inducer BDDescriçãoAtributosInstânciasClasses acc e (90%) LetterCaracteres manuscritos %0.43% 75.77% 78.18% SpliceSeqüências de DNA %1.27% 89.79% 93.75% MushroomEspécies de cogumelos %0.32% 94.40% 99.82% SoybeanCultivo de soja %1.50% 86.73% 95.28% TitanicNaufrágio do transatlântico Titanic %0.08% 97.99% 99.50% Connect-4Partidas de Connect %0.00% 99.79% % CmcEscolha do método anticoncepcional %5.45% 97.26% 98.54% Kr-vs-KpPartidas de Xadrez %0.84% 52.14% 57.82% CarsInformações sobre automóveis %0.98% 95.12% 96.72%
Experimentos com Naïve_Inducer BDDescriçãoAtributosInstânciasClasses acc e (90%) LetterCaracteres manuscritos %0.43% 75.77% 78.18% SpliceSeqüências de DNA %1.27% 89.79% 93.75% MushroomEspécies de cogumelos %0.32% 94.40% 99.82% SoybeanCultivo de soja %1.50% 86.73% 95.28% TitanicNaufrágio do transatlântico Titanic %0.08% 97.99% 99.50% Connect-4Partidas de Connect %0.00% 99.79% % CmcEscolha do método anticoncepcional %5.45% 97.26% 98.54% Kr-vs-KpPartidas de Xadrez %0.84% 52.14% 57.82% CarsInformações sobre automóveis %0.98% 95.12% 96.72%
Experimentos com Naïve_Inducer BDDescriçãoAtributosInstânciasClasses acc e (90%) LetterCaracteres manuscritos %0.43% 75.77% 78.18% SpliceSeqüências de DNA %1.27% 89.79% 93.75% MushroomEspécies de cogumelos %0.32% 94.40% 99.82% SoybeanCultivo de soja %1.50% 86.73% 95.28% TitanicNaufrágio do transatlântico Titanic %0.08% 97.99% 99.50% Connect-4Partidas de Connect %0.00% 99.79% % CmcEscolha do método anticoncepcional %5.45% 97.26% 98.54% Kr-vs-KpPartidas de Xadrez %0.84% 52.14% 57.82% CarsInformações sobre automóveis %0.98% 95.12% 96.72%
Experimentos com Naïve_Inducer BDDescriçãoAtributosInstânciasClasses acc e (90%) LetterCaracteres manuscritos %0.43% 75.77% 78.18% SpliceSeqüências de DNA %1.27% 89.79% 93.75% MushroomEspécies de cogumelos %0.32% 94.40% 99.82% SoybeanCultivo de soja %1.50% 86.73% 95.28% TitanicNaufrágio do transatlântico Titanic %0.08% 97.99% 99.50% Connect-4Partidas de Connect %0.00% 99.79% % CmcEscolha do método anticoncepcional %5.45% 97.26% 98.54% Kr-vs-KpPartidas de Xadrez %0.84% 52.14% 57.82% CarsInformações sobre automóveis %0.98% 95.12% 96.72% Uma mesma pessoa pode escrever um caractere de várias formas, bem diferentes entre si Caracteres iguais manuscritos por pessoas diferentes podem apresentar grandes diferenças A indução de padrões genéricos torna-se difícil Instâncias repetidas com classes diferentes – uma espécie de ruído
Experimentos com Naïve_Inducer Baseado no ranking pode-se concluir que As diversas combinações de técnicas tem uma forte influência nas acurácias dos classificadores “O que é bom para um banco de dados não é necessariamente bom para outro banco de dados” Desvantagem Alto custo processamento Vantagem Melhor Classificador (matematicamente)
Algoritmo Expert_Inducer Banco de Dados: Mushroom
Algoritmo Expert_Inducer Banco de Dados: Mushroom
Algoritmo Expert_Inducer Banco de Dados: Mushroom
Algoritmo Expert_Inducer Banco de Dados: Mushroom
Algoritmo Expert_Inducer Banco de Dados: Mushroom Heurística 1: Se a técnica de amostragem A1 tem resultados melhores que as outras técnicas de amostragem para o banco de dados X em uma certa combinação de técnicas de fragmentação e indução, então a vantagem de A1 sobre as outras técnicas de amostragem pode ser assumida para X, independentemente das outras combinações com as demais técnicas de fragmentação e indução.
Algoritmo Expert_Inducer Banco de Dados: Mushroom
Algoritmo Expert_Inducer Banco de Dados: Mushroom
Algoritmo Expert_Inducer Banco de Dados: Mushroom
Algoritmo Expert_Inducer Banco de Dados: Mushroom Heurística 2: Se a técnica de fragmentação F1 tem resultados melhores que as outras técnicas de fragmentação para o banco de dados X em uma certa combinação que esteja presente a melhor técnica de amostragem para X, a vantagem de F1 sobre as outras técnicas de fragmentação pode ser assumida para X, independentemente dos algoritmos de indução.
Algoritmo Expert_Inducer Banco de Dados: Mushroom
Algoritmo Expert_Inducer Banco de Dados: Mushroom
Algoritmo Expert_Inducer Banco de Dados: Mushroom Heurística 3: Considerando a melhor técnica de amostragem (Heurística 1) e a melhor técnica de fragmentação (Heurística 2). Se o algoritmo de indução I1 tem resultados melhores que os outros algoritmos de indução para o banco de dados X em uma certa combinação que esteja presente a melhor técnica de amostragem e a melhor técnica de fragmentação para X, então pode-se então assumir que I1 é o melhor algoritmo de indução para X.
Algoritmo Expert_Inducer Outros oito bancos de dados foram testados Foi utilizado o mesmo raciocínio As conclusões foram similares a obtida no banco de dados Mushroom
Algoritmo Expert_Inducer Utiliza as heurísticas O Expert_Inducer executa A+F+I iterações O Naïve_Inducer executa AxFxI iterações
BDDescriçãoAtributosInstânciasClasses Cars-EvolutionAvaliação de automóveis NurseryEscola Infantil Tic-tac-toeJogo Tic-tac-toe Experimentos com Expert_Inducer Naïf-bestClassifier Expert-BestClassifier O melhor classificador para Melhores técnicas - TempoMelhores técnicas - Tempo Cars-Evolution AIF – BS – Prism 89,76%1’56’’AIF – CV – ID387,081’10’’ NurseryAIF – CV – ID3 90,56%9’52AIF – CV – ID389,89%6’23’’ Tic-tac-toeAIF – CV - Prism 97,05%2’56’’AIF – CV – Prism 97,08%1’49’’
BDDescriçãoAtributosInstânciasClasses Cars-EvolutionAvaliação de automóveis NurseryEscola Infantil Tic-tac-toeJogo Tic-tac-toe Experimentos com Expert_Inducer Naïf-bestClassifier Expert-BestClassifier O melhor classificador para Melhores técnicas - TempoMelhores técnicas - Tempo Cars-Evolution AIF – BS – Prism 89,76%1’56’’AIF – CV – ID387,081’10’’ NurseryAIF – CV – ID3 90,56%9’52AIF – CV – ID389,89%6’23’’ Tic-tac-toeAIF – CV - Prism 97,05%2’56’’AIF – CV – Prism 97,08%1’49’’ Ambos algoritmos possuem desempenhos similares
BDDescriçãoAtributosInstânciasClasses Cars-EvolutionAvaliação de automóveis NurseryEscola Infantil Tic-tac-toeJogo Tic-tac-toe Experimentos com Expert_Inducer Naïf-bestClassifier Expert-BestClassifier O melhor classificador para Melhores técnicas - TempoMelhores técnicas - Tempo Cars-Evolution AIF – BS – Prism 89,76%1’56’’AIF – CV – ID387,081’10’’ NurseryAIF – CV – ID3 90,56%9’52AIF – CV – ID389,89%6’23’’ Tic-tac-toeAIF – CV - Prism 97,05%2’56’’AIF – CV – Prism 97,08%1’49’’ Apesar de haver uma divergência quanto a melhor combinação em Cars-Evolution, isto não compromete o desempenho
BDDescriçãoAtributosInstânciasClasses Cars-EvolutionAvaliação de automóveis NurseryEscola Infantil Tic-tac-toeJogo Tic-tac-toe Experimentos com Expert_Inducer Naïf-bestClassifier Expert-BestClassifier O melhor classificador para Melhores técnicas - TempoMelhores técnicas - Tempo Cars-Evolution AIF – BS – Prism 89,76%1’56’’AIF – CV – ID387,081’10’’ NurseryAIF – CV – ID3 90,56%9’52AIF – CV – ID389,89%6’23’’ Tic-tac-toeAIF – CV - Prism 97,05%2’56’’AIF – CV – Prism 97,08%1’49’’ A técnica de fragmentação Cross-Validation seleciona aleatoriamente as instâncias da amostra Por isso, há uma diferença entre as acurácias dos classificadores induzidos por uma mesma combinação de técnicas
BDDescriçãoAtributosInstânciasClasses Cars-EvolutionAvaliação de automóveis NurseryEscola Infantil Tic-tac-toeJogo Tic-tac-toe Experimentos com Expert_Inducer Naïf-bestClassifier Expert-BestClassifier O melhor classificador para Melhores técnicas - TempoMelhores técnicas - Tempo Cars-Evolution AIF – BS – Prism 89,76%1’56’’AIF – CV – ID387,081’10’’ NurseryAIF – CV – ID3 90,56%9’52AIF – CV – ID389,89%6’23’’ Tic-tac-toeAIF – CV - Prism 97,05%2’56’’AIF – CV – Prism 97,08%1’49’’ O tempo de processamento de Expert_Inducer foi sempre menor que Naive_Inducer
Conclusão Automatização do processo de mineração de dados Novas técnicas podem ser incorporadas ao framework com o mínimo de impacto sobre as outras partes do próprio framework As heurísticas permitem uma boa performance da combinação de técnicas sem perda de qualidade O trabalho não trata outros modelos de conhecimento como regras de associação Não está integrado com SGBDs
Bibliografia TOEBE, Josué; SAMPAIO, Marcus. A Systematic Approach for Inducing Reliable Classifiers From Data Mines.