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 único termo com o atributo préclassificador determinado (atributo de classificação) conjunção de termos <atributo Θ valor> <atributo_classificação Θ classe> 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 Amostragem: Convergence Fragmentação: K-fold CrossValidation Indução: NaiveBayes Banco de Dados Plantação de Soja Minerador 1 Classificador 1 Amostragem: Adaptive Incremental Framework Fragmentação: Bootstrap Indução: ID3 (talvez seja bastante!!!) Minerador 2 Classificador 2 Necessidade de uma ferramenta que garanta o melhor classificador levando em conta a diversidade de técnicas A Idéia Central da Ferramenta Proposta Algoritmo que infere o melhor classificador Técnicas de amostragem Técnicas de fragmentação Algoritmos de indução Problema de Classificação Melhor Classificado r 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 Fragmentação X Xc Xc Xe = Xe Algoritmo de Fragmentação Xctr Xcts Xctr Xc Xctr Xcts = Xc Xcts Xc Xctr Xcts = Xc Xe = X Xc é um banco de dados classificado Xe é um conjunto de execução, ou um conjunto de instâncias não classificadas. O Processo de MD Processo de Mineração de Dados Preparação dos dados Extrair amostra Xctr Xcts = Xc Fragmentar Induzir amostra classificador Xctr , Xcts Xctr C Calcular acurácia de teste C Xcts Computar acurácia estimada (Xe) Algoritmo de indução Prism NaiveBayes Técnicas de fragmentação Tratamento de dados Desconhecidos Inexistentes Sujos Holdout Bootstrap Técnicas de amostragem Adaptive Incremental Framework Convergence O Processo de MD Processo de Mineração de Dados Preparação dos dados Extrair amostra Xctr Xcts = Xc Fragmentar Induzir amostra classificador Xctr , Xcts Xctr C Calcular acurácia de teste C Xcts Computar acurácia estimada (Xe) O classificador deve ser testado com cada instância do conjunto de teste Xcts 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: accts (testes _ bem _ sucedidos ) , instância Xcts (testes _ mal _ sucedidos ) (testes _ bem _ sucedidos ) O Processo de MD Processo de Mineração de Dados Preparação dos dados Extrair amostra Xctr Xcts = Xc Fragmentar Induzir amostra classificador Xctr , Xcts Xctr C Calcular acurácia de teste C Xcts Computar acurácia estimada (Xe) A acurácia de execução, acce, é calculada em função de accts, 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 accts 2 N accts z 2 4 N accts z 2 4 N accts2 acce 2 (N z2 ) 2 N accts 1,65 4 N accts 1,65 4 N acc acce 2 ( N 1,652 ) 2 2 2 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 A1 A2 F1 F2 F3 I1 I2 I3 Experimentos com Naïve_Inducer BD Descrição Atributos Instâncias Classes acce (90%) Letter Caracteres manuscritos 17 20000 26 77.20% 0.43% 75.77% 78.18% Splice Seqüências de DNA 61 3100 3 92.55% 1.27% 89.79% 93.75% Mushroom Espécies de cogumelos 22 8124 2 99.39% 0.32% 94.40% 99.82% Soybean Cultivo de soja 35 683 19 92.03% 1.50% 86.73% 95.28% Titanic Naufrágio do transatlântico Titanic 4 2201 2 99.58% 0.08% 97.99% 99.50% Connect-4 Partidas de Connect-4 43 36991 3 100.00% 0.00% 99.79% 100.00% Cmc Escolha do método anticoncepcional 10 1473 3 98.18% 5.45% 97.26% 98.54% Kr-vs-Kp Partidas de Xadrez 36 3196 2 55.14% 0.84% 52.14% 57.82% Cars Informações sobre automóveis 10 404 3 96.95% 0.98% 95.12% 96.72% Experimentos com Naïve_Inducer BD Descrição Atributos Instâncias Classes acce (90%) Letter Caracteres manuscritos 17 20000 26 77.20% 0.43% 75.77% 78.18% Splice Seqüências de DNA 61 3100 3 92.55% 1.27% 89.79% 93.75% Mushroom Espécies de cogumelos 22 8124 2 99.39% 0.32% 94.40% 99.82% Soybean Cultivo de soja 35 683 19 92.03% 1.50% 86.73% 95.28% Titanic Naufrágio do transatlântico Titanic 4 2201 2 99.58% 0.08% 97.99% 99.50% Connect-4 Partidas de Connect-4 43 36991 3 100.00% 0.00% 99.79% 100.00% Cmc Escolha do método anticoncepcional 10 1473 3 98.18% 5.45% 97.26% 98.54% Kr-vs-Kp Partidas de Xadrez 36 3196 2 55.14% 0.84% 52.14% 57.82% Cars Informações sobre automóveis 10 404 3 96.95% 0.98% 95.12% 96.72% Experimentos com Naïve_Inducer BD Descrição Atributos Instâncias Classes acce (90%) Letter Caracteres manuscritos 17 20000 26 77.20% 0.43% 75.77% 78.18% Splice Seqüências de DNA 61 3100 3 92.55% 1.27% 89.79% 93.75% Mushroom Espécies de cogumelos 22 8124 2 99.39% 0.32% 94.40% 99.82% Soybean Cultivo de soja 35 683 19 92.03% 1.50% 86.73% 95.28% Titanic Naufrágio do transatlântico Titanic 4 2201 2 99.58% 0.08% 97.99% 99.50% Connect-4 Partidas de Connect-4 43 36991 3 100.00% 0.00% 99.79% 100.00% Cmc Escolha do método anticoncepcional 10 1473 3 98.18% 5.45% 97.26% 98.54% Kr-vs-Kp Partidas de Xadrez 36 3196 2 55.14% 0.84% 52.14% 57.82% Cars Informações sobre automóveis 10 404 3 96.95% 0.98% 95.12% 96.72% Experimentos com Naïve_Inducer BD Descrição Atributos Instâncias Classes acce (90%) Letter Caracteres manuscritos 17 20000 26 77.20% 0.43% 75.77% 78.18% Splice Seqüências de DNA 61 3100 3 92.55% 1.27% 89.79% 93.75% 99.39% 0.32% 94.40% 99.82% 92.03% 1.50% 86.73% 95.28% 99.58% 0.08% 97.99% 99.50% 3 100.00% 0.00% 99.79% 100.00% 3 98.18% 5.45% 97.26% 98.54% Uma mesma pessoa pode escrever um caractere de Mushroom Espécies de cogumelos 8124 2 várias formas, bem diferentes entre 22 si Caracteres iguais manuscritos por pessoas diferentes Soybean Cultivo de soja 35 683 19 podem apresentar grandes diferenças A indução de padrões genéricos torna-se difícil Titanic Naufrágio do transatlântico Titanic 4 2201 2 Connect-4 Partidas de Connect-4 43 36991 Instâncias repetidas com classes diferentes – uma ruídoanticoncepcional Cmc espécie Escolhade do método 10 1473 Kr-vs-Kp Partidas de Xadrez 36 3196 2 55.14% 0.84% 52.14% 57.82% Cars Informações sobre automóveis 10 404 3 96.95% 0.98% 95.12% 96.72% 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” Vantagem Desvantagem Melhor Classificador Alto custo (matematicamente) processamento 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - HO - Naive AIF - HO - Naive Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 Conv - BS - ID3 AIF - BS - ID3 Algoritmo Expert_Inducer 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - HO - Naive AIF - HO - Naive Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 Conv - BS - ID3 AIF - BS - ID3 Algoritmo Expert_Inducer 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - HO - Naive AIF - HO - Naive Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 Conv - BS - ID3 AIF - BS - ID3 Algoritmo Expert_Inducer 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - HO - Naive AIF - HO - Naive Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 Conv - BS - ID3 AIF - BS - ID3 Algoritmo Expert_Inducer 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. Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - HO - Naive AIF - HO - Naive Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 AIF - BS - ID3 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Conv - BS - ID3 Algoritmo Expert_Inducer 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - HO - Naive AIF - HO - Naive Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 Conv - BS - ID3 AIF - BS - ID3 Algoritmo Expert_Inducer 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - HO - Naive AIF - HO - Naive Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 Conv - BS - ID3 AIF - BS - ID3 Algoritmo Expert_Inducer 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - HO - Naive AIF - HO - Naive Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 Conv - BS - ID3 AIF - BS - ID3 Algoritmo Expert_Inducer 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. Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - HO - Naive AIF - HO - Naive Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 AIF - BS - ID3 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Conv - BS - ID3 Algoritmo Expert_Inducer 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - HO - Naive AIF - HO - Naive Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 Conv - BS - ID3 AIF - BS - ID3 Algoritmo Expert_Inducer 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - HO - Naive AIF - HO - Naive Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 Conv - BS - ID3 AIF - BS - ID3 Algoritmo Expert_Inducer Conv - CV - OneR AIF - CV - OneR Conv - BS - OneR AIF - BS - OneR Conv - CV - Naive AIF - CV - Naive Conv - BS - Naive AIF - BS - Naive AIF - BS - ID3 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. Banco de Dados: Mushroom Conv - HO - Prism AIF - HO - Prism Conv - CV - Prism AIF - CV - Prism Conv - BS - Prism AIF - BS - Prism Conv - HO - OneR AIF - HO - OneR Conv - HO - Naive AIF - HO - Naive Conv - HO - ID3 AIF - HO - ID3 Conv - CV - ID3 AIF - CV - ID3 100% 98% 96% 94% 92% 90% 88% 86% 84% 82% 80% Conv - BS - ID3 Algoritmo Expert_Inducer 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 Experimentos com Expert_Inducer BD Descrição Atributos Instâncias Classes Cars-Evolution Avaliação de automóveis 8 1728 4 Nursery Escola Infantil 8 12960 5 Tic-tac-toe Jogo Tic-tac-toe 10 953 2 Naïf-bestClassifier Expert-BestClassifier Melhores técnicas - Tempo Melhores técnicas - Tempo Cars-Evolution AIF – BS – Prism 89,76% 1’56’’ AIF – CV – ID3 87,08 1’10’’ Nursery AIF – CV – ID3 AIF – CV Prism 90,56% 9’52 AIF – CV – ID3 89,89% 6’23’’ 97,05% 2’56’’ AIF – CV – Prism 97,08% 1’49’’ O melhor classificador para Tic-tac-toe Experimentos com Expert_Inducer BD Descrição Atributos Instâncias Classes Cars-Evolution Avaliação de automóveis 8 1728 4 Nursery Escola Infantil 8 12960 5 Tic-tac-toe Jogo Tic-tac-toe 10 953 2 Naïf-bestClassifier Expert-BestClassifier Melhores técnicas - Tempo Melhores técnicas - Tempo Cars-Evolution AIF – BS – Prism 89,76% 1’56’’ AIF – CV – ID3 87,08 1’10’’ Nursery AIF – CV – ID3 AIF – CV Prism 90,56% 9’52 AIF – CV – ID3 89,89% 6’23’’ 97,05% 2’56’’ AIF – CV – Prism 97,08% 1’49’’ O melhor classificador para Tic-tac-toe Ambos algoritmos possuem desempenhos similares Experimentos com Expert_Inducer BD Descrição Atributos Instâncias Classes Cars-Evolution Avaliação de automóveis 8 1728 4 Nursery Escola Infantil 8 12960 5 Tic-tac-toe Jogo Tic-tac-toe 10 953 2 Naïf-bestClassifier Expert-BestClassifier Melhores técnicas - Tempo Melhores técnicas - Tempo Cars-Evolution AIF – BS – Prism 89,76% 1’56’’ AIF – CV – ID3 87,08 1’10’’ Nursery AIF – CV – ID3 AIF – CV Prism 90,56% 9’52 AIF – CV – ID3 89,89% 6’23’’ 97,05% 2’56’’ AIF – CV – Prism 97,08% 1’49’’ O melhor classificador para Tic-tac-toe Apesar de haver uma divergência quanto a melhor combinação em Cars-Evolution, isto não compromete o desempenho Experimentos com Expert_Inducer BD Descrição Atributos Instâncias Classes Cars-Evolution Avaliação de automóveis 8 1728 4 Nursery Escola Infantil 8 12960 5 Tic-tac-toe Jogo Tic-tac-toe 10 953 2 Naïf-bestClassifier Expert-BestClassifier Melhores técnicas - Tempo Melhores técnicas - Tempo Cars-Evolution AIF – BS – Prism 89,76% 1’56’’ AIF – CV – ID3 87,08 1’10’’ Nursery AIF – CV – ID3 AIF – CV Prism 90,56% 9’52 AIF – CV – ID3 89,89% 6’23’’ 97,05% 2’56’’ AIF – CV – Prism 97,08% 1’49’’ O melhor classificador para Tic-tac-toe 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 Experimentos com Expert_Inducer BD Descrição Atributos Instâncias Classes Cars-Evolution Avaliação de automóveis 8 1728 4 Nursery Escola Infantil 8 12960 5 Tic-tac-toe Jogo Tic-tac-toe 10 953 2 Naïf-bestClassifier Expert-BestClassifier Melhores técnicas - Tempo Melhores técnicas - Tempo Cars-Evolution AIF – BS – Prism 89,76% 1’56’’ AIF – CV – ID3 87,08 1’10’’ Nursery AIF – CV – ID3 AIF – CV Prism 90,56% 9’52 AIF – CV – ID3 89,89% 6’23’’ 97,05% 2’56’’ AIF – CV – Prism 97,08% 1’49’’ O melhor classificador para Tic-tac-toe 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 From Data Mines. Reliable Classifiers