2. O Processo de Mineração de Dados

Slides:



Advertisements
Apresentações semelhantes
DISTRIBUIÇÕES AMOSTRAIS
Advertisements

Agenda Introdução Justificativa Objetivo Detecção de Spam
Inteligência Artificial
Aprendizado de Máquina
Intervalos de Confiança
INTELIGÊNGIA COMPUTACIONAL
Mineração de Dados Avaliação de Classificadores
Engenharia de Software
HAC MD -junho/ Noções de algoritmos e estudo de casos das principais tarefas de Mineração de dados.
Exercício 1 Rodar o algoritmo de classificação J4.8 do Weka variando:
Redes Neurais Artificiais
Aprendem a partir de seus vizinhos AULA 9 DATA MINING Sandra de Amo
Classificadores em Dados não Balanceados
Mineração de Dados ou Descoberta de conhecimento em BDs
Estrutura e movimento a partir de imagens
Jacques Robin, Francisco Carvalho, Flávia Barros
O Processo de Preparação de Dados
1 Projeto Filtragem de Mensagens Eletrônicas Disciplina: Inteligência Artificial Simbólica Professores: Geber Ramalho e Jacques Robin.
INF 1771 – Inteligência Artificial
II. M o d e l o s d e C o n h e c i m e n t o
3. Árvore de Decisão.
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG.
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG.
Aula Prática Classificação
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Recuperação Inteligente de Informação Tarefa 1 Equipe.
Classificação. Classificação: Atribuição a uma classe (rótulo de um atributo categórico). Classifica dados (constrói um modelo) baseado em um conjunto.
Sistema Recomendador para Comércio Eletrônico
Uso de informação parentes
DISTRIBUIÇÕES AMOSTRAIS
Mini testes A apresentar na aula da semana a seguir à data descrito em cada teste. As respostas não devem exceder mais do que duas páginas A4.
Métodos Quantitativos II
Sistemas Inteligentes
Aprendizado de Máquina - Introdução
Preparação dos Dados Marcilio Souto DIMAp/UFRN. Preparação dos Dados ● Compreensão dos dados ● Limpeza – Metadado – Valores Perdidos – Formato de data.
Seleção de Atributos Ricardo Prudêncio.
O Processo de KDD Data Mining SUMÁRIO - AULA1 O processo de KDD
MEDIDAS DE DESEMPENHO Classificação SUPERVISIONADA
Classificação: avaliação de modelos
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG Etapas do Processo.
Marcus Sampaio DSC/UFCG Mineração de Dados Marcus Sampaio Pós-Graduação em Informática da UFCG
Noções de Inferência Estatística
2. Visão Geral de MD Alguns slides foram adaptados, traduzidos ou copiados de Pang-Ning Tan (ver Bibliografia)
Fontes de Erros Aula 1 Introdução; Erros em processos numéricos;
Aprendizagem Estatística de Dados Aprendizagem Estatística de Dados Francisco Carvalho.
Estatística e Probabilidade
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
Mineração de Dados: Classificação e Predição
7. Mineração de Texto ("Text Mining")
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG O Problema Dados –Um banco de transações de compra –Cada transação é um conjunto de ítens comprados Encontrar.
A Systematic Approach for Inducing Reliable Classifiers From Data Mines David Moises Barreto dos Santos Universidade Federal de Campina Grande Programa.
Probabilidade e Estatística para Avaliação de Desempenho
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG A Lógica dos Algoritmos “Covering” A estratégia é selecionar cada classe do conjunto- treinamento, e.
MSCC - Introdução Baseado no capítulo 1 do livro Performance Evalution of Computer and Communication Systems, de Jean-Yves Le Boudec (EPFL)
Marcus Sampaio DSC/UFCG Os slides 3-15 foram copiados de Pang-Ning Tan.
Regressão e Previsão Numérica.
Classificação de Texto Baseada na aula de Henrique Borges e Ícaro Medeiros Alterada por Flávia Barros.
Marcus Sampaio DSC/UFCG Vários slides foram adaptados, traduzidos ou copiados de Pang-Ning Tan (ver Bibliografia)
Marcus Sampaio DSC/UFCG Os slides 3-15 foram copiados de Pang-Ning Tan.
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG NaïveBayes Na modelagem estatística, todos os atributos são considerados igualmente importantes e independentes.
HAC 1 MD - junho/2008 Tecnologias de suporte à Mineração de Dados Gerenciamento de dados Data Warehouse OLAP Arquiteturas Visualização Sistemas de Suporte.
Classificação de Textos
Metodologia da Pesquisa em Ensino de Ciências I
Aula Pratica Aprendizagem WEKA Prof. Ivan Gesteira Costa Filho Centro de Informática Universidade Federal de Pernambuco.
Conselhos para a aplicação de aprendizagem de máquinas
Estimação: Estimativa Pontual Estimativa Intervalar
Mineração de Dados (Data Mining)
Camilo Daleles Rennó Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2016 Técnicas.
Inferência 1:Estimação de Parâmetros Relembrando o Teorema Central do Limite Da aula anterior: a) Os estimadores da média e da s 2 são não viciados e de.
Transcrição da apresentação:

2. O Processo de Mineração de Dados Vários slides foram adaptados, traduzidos ou copiados de Pang-Ning Tan (ver Bibliografia)

Etapas do Processo

Etapas do Processo Seleção Pré-Processamento Transformação Garimpagem Análise e Assimilação

Seleção + Pré-processamento Macro etapa Preparação de Dados Seleção Identificação dos bancos de dados Seleção de atributos ‘Discretização’ de valores de atributos numéricos Pré-processamento Limpeza Amostragem

Seleção de Atributos Existem algoritmos que selecionam automaticamente, de um banco de dados, os atributos relevantes para compor as instâncias ou exemplos de mineração Para Seleção de Atributos, consultar o livro texto, ou qualquer bom livro de MD Banco de Dados, no contexto de MD, é qualquer coleção desnormalizada de documentos MD e BD Relacional: “Impedance mismatching”

‘Discretização’ de Atributos Para diminuir a complexidade de um modelo de conhecimento, atributos com domínio  devem ser ‘discretizados’ WEKA possui vários algoritmos de ‘discretização’ Alguns algoritmos de MD simplesmente não trabalham com domínios  Algoritmos que ‘trabalham’ com domínios  na verdade embutem algoritmos de ‘discretização’

Pré-Processamento: Limpeza Uma verdadeira ‘praga’ em aplicações de mineração de dados é a pobre qualidade dos dados de entrada dos algoritmos Uma maneira de resolver ou minimizar o problema é fazer uma inspeção manual nos arquivos de dados. Para arquivos grandes, isto pode ser impraticável

Limpeza Felizmente, as próprias técnicas de mineração de dados podem ajudar a resolver o problema Considere um problema de classificação, e duas espécies de ‘sujeira’: no atributo de classificação, e nos atributos que não são de classificação ‘Sujeira’ em atributos de classificação Remover as instâncias concernentes do conjunto de treinamento. Como? Rodando um algoritmo de classificação que procure ser espelho do conjunto de treinamento  100% de acurácia de treinamento As instâncias que caem em classes ‘sujas’ são fisicamente retiradas

Limpeza ’Sujeira’ em atributos que não são de classificação Alguns algoritmos são capazes de descobrir atributos não confiáveis, logicamente removendo a ‘sujeira’ do conjunto de treinamento Exemplo: algoritmo WEKA J48 (Árvores de Decisão) Pressuposição: ‘sujeiras’ são pouco freqüentes, comparadas com valores ‘limpos’ Existem diversas ferramentas para limpeza automática Remoção lógica Remoção física

Amostragem A idéia é escolher somente uma parte do conjunto de treinamento, mas que seja representativa do conjunto inteiro Estado-da-arte em amostragem Diversas técnicas Tecnologia relativamente consolidada Diversas ferramentas existentes no mercado

Etapas do Processo Seleção Pré-Processamento Transformação Garimpagem Análise e Assimilação

Transformação Cada algoritmo de mineração de dados necessita de uma entrada específica A finalidade da transformação é então de transformar os dados preparados, de modo a torná-los compatíveis com as entradas dos diversos algoritmos de mineração de dados Exemplo 1 Gerar arquivos .arff para usar os algoritmos da biblioteca WEKA

Exemplo 2 A maioria dos algoritmos de MD implementa consultas abertas, ou não parametrizadas Vantagens: o minerador pode dizer “algoritmo, vire-se: não vou ajudá-lo em nada!” Desvantagens: muitas vezes, restrições  ou parâmetros  são importantes O minerador pode querer rodar um algoritmo indutor de um modelo descritivo, para descrever os exemplos de treinamento somente de uma certa classe X Restrições ou parâmetros são simulados com uma conveniente transformação dos arquivos de entrada

Etapas do Processo Seleção Pré-Processamento Transformação Garimpagem Análise e Assimilação

Garimpagem ou Mineração Uma vez os dados preparados e transformados, aplicam-se os algoritmos de mineração de dados, dependendo do problema Associação Classificação Supervisionada Classificação Não-Supervisionada Série Temporal Regressão ...

Etapas do Processo Seleção Pré-Processamento Transformação Garimpagem Análise e Assimilação

Análise e Assimilação Nesta etapa, a seguinte questão deve ser respondida: o conhecimento induzido é relevante e acionável? Relevância: conhecimento não trivial Modelo acionável: que não seja muito complexo, ou que possa ser assimilado por um especialista Se a resposta não for satisfatória, então poderá ser necessário repetir todo ou parte do processo de MD Por exemplo, usar um outro algoritmo de indução de conhecimento Na seqüência, consideramos que os modelos são relevantes e acionáveis

Três Questões a Analisar “Underfitting” e “Overfitting” de Modelos Valores Faltando em Dados para Mineração Métricas de Desempenho dos Algoritmos Indutores

“Overfitting” e “Underfitting” Um bom modelo deve ter Alta acurácia de treinamento (actrein) Alta acurácia de teste (acteste) Pode ocorrer que alta actrein  baixa acteste “Overfitting” “Underfitting” de um modelo Baixa actrein e baixa acteste Modelos com “underfitting” e “overfitting” devem ser descartados O importante é acteste

“Underfitting” e “Overfitting” Number of nodes indica o tamanho do modelo induzido Underfitting: quando o modelo é muito simples, tanto as acurácias de treinamento quanto as de teste são baixas

“Underfitting” e “Overfitting” Quais as causas de “underfitting” e “overfitting”? Note que um e outro conduzem a baixas acurácias de teste Considere que um algoritmo trabalha para obter, se for possível, 100% de actrein Má distribuição das classes Ruído ou ‘sujeira’ Falta de representatividade das classes Conjunto de Treinamento

Má Distribuição Pode conduzir a padrões muito dispersos Duas classes Representações Pontos circulares Pontos triangulares Pode conduzir a padrões muito dispersos para as classes  pouco valor estatístico Conjunto de Treinamento

Pouca Representatividade Nome Temp. do Corpo Nasc. Uterino 4 Pernas Hiber-na Classe Salamandra fria não sim Não mamífero “Guppy” Águia quente “Poorwill” “Platypus” Mamífero

O conjunto de treinamento não tem erro Um classificador poderia induzir a regra se temperatura do corpo é quente e não hiberna então não é mamífero Assim, humanos, elefantes e golfinhos seriam classificados como não mamíferos! O problema é a falta de representatividade da regra: só casa com as águias Assim, teríamos por exemplo 100% de actrein e 70% de acteste, caracterizando “overfitting”

Ruído ou ‘Sujeira’ Note que um padrão para o ponto ‘sujo’ não tem valor estatístico

Solução para “Underfitting” O problema de “underfitting” pode ser resolvido com um conjunto de treinamento de bom tamanho Técnicas de amostragem ajudam

“Overfitting”: Algumas Conclusões “Overfitting” resulta de modelos de treinamento que são mais complexos do que o necessário Regras sem valor estatístico Acurácia de treinamento deve ser vista com muita reserva Necessidade de novos métodos de estimar acurácia Acurácia de teste Acurácia de previsão

Estimativa de Acurácia de Previsão Conjunto de Treinamento Treina um algoritmo de mineração Acurácia de Treinamento Conjunto de Teste Testa o modelo induzido pelo algoritmo Acurácia de Teste Conjunto de Previsão Conjunto sobre o qual o modelo é aplicado, para fazer previsão Acurácia de Previsão Acurácia de Previsão = f(Acurácia de Teste)

Acurácia de Previsão “Holdout” Fragmentação dos dados  amostra  em conjunto de treinamento e conjunto de teste Tipicamente, 2/3 para treinamento e 1/3 para teste O modelo é induzido do conjunto de treinamento O modelo induzido é testado com o conjunto de teste Principal problema Uma classe pode ficar super-representada em um conjunto, e sub-representada em outro; ou O modelo pode ser fortemente dependente da composição dos conjuntos

Validação Cruzada (“Cross Validation”)

Usa-se cada vez mais "stratified ten-fold cross-validation“ O algoritmo é treinado com todos os dados Para calcular a acurácia de teste Calcula-se a média  ou a soma  dos acertos dos três testes realizados Note que os modelos podem variar  pouco, ou até muito! , em relação ao modelo induzido para todos os dados Usa-se cada vez mais "stratified ten-fold cross-validation“ Estratificação: classes igualmente representadas em todos os fragmentos Os dados são aleatoria e estratificadamente divididos em dez fragmentos Como consequência da estratificação, os 10 modelos da iteração são praticamente iguais ao modelo do treinamento do algoritmo

Note que não se trata, aqui, de estimar a acurácia de previsão “Bagging” – Técnica de Meta Modelagem Usa um modelo classificador de modelos Indução dos Modelos Para cada uma das t iterações (“stratified t-fold cross-validation”) Aplique um algoritmo Salve o modelo induzido pelo algoritmo Previsão (ou Predição) Para cada um dos modelos aprovados Classificar a instância de previsão Retornar a classe mais votada Note que não se trata, aqui, de estimar a acurácia de previsão

Métricas de Desempenho: Acurácia PREDICTED CLASS ACTUAL CLASS Class=Yes Class=No a (TP) b (FN) c (FP) d (TN)

Acurácia Note que o cálculo da acurácia no slide anterior é limitado ao caso de duas classes  “two-class problem” É comum um conjunto de treinamento ter muitas classes De qualquer maneira, o valor da acurácia se confunde sempre com a taxa de acerto

Acurácia: Limitações Considere um “2-class problem” Número de instâncias (ou exemplos) de treinamento da Classe 0 = 9990 Número de exemplos da Classe 1 = 10 Se um modelo prediz que tudo é da Classe 0   exemplo de predição  0  , então a acurácia é 9990/10000 = 99.9 % O valor é enganoso porque o modelo não prevê qualquer exemplo da Classe 1

Intervalo de Confiança para Acurácia Area = 1 -  For large test sets (N > 30), acc has a normal distribution with mean p and variance p(1-p)/N Confidence Interval for p: Z/2 Z1-  /2

Intervalo de Confiança para Acurácia Consider a model that produces an accuracy of 80% when evaluated on 100 test instances: N=100, acc = 0.8 Let 1- = 0.95 (95% confidence) From probability table, Z/2=1.96 1- Z 0.99 2.58 0.98 2.33 0.95 1.96 0.90 1.65 N 50 100 500 1000 5000 p(lower) 0.670 0.711 0.763 0.774 0.789 p(upper) 0.888 0.866 0.833 0.824 0.811

Outras Métricas de Desempenho

Exemplos A percentagem de todas as instâncias da classe esporte que foram classificadas corretamente é o “recall”, ou a cobertura A percentagem de instâncias corretamente classificadas como esporte é a precisão F-measure: média harmônica de precisão e “recall” Alta precisão é sempre muito importante, mas muitas instâncias esporte podem ser deixadas de lado (isto é medido por “recall”) Programa que identifica “spam e-mail” com alta precisão e baixo “recall Deixa “spam” na caixa de entrada (baixo “recall”) Geralmente acerta quando joga um “spam” no lixo (alta precisão)

Considere que um sistema de e-mail marcou corretamente 20 e-mails como spam, mas não detectou 5 emails que são spams Precisão = 20 / 20 = 100% Recall = 20 / 25 = 80% F-measure = 2 / (1 + 1 / 0,8) = 0,89

Valores Faltando Valores faltando são valores NULL Convivência com valores NULL Diversos algoritmos trabalham com valores NULL É preciso saber como Por exemplo, alguns algoritmos smplesmente removem logicamente atributos com pelo menos um valor NULL Não convivência com valores NULL A solução ‘crua’ é remover aquelas instâncias do conjunto de treinamento com valores NULL Pode ser muito restritiva, ou mesmo inviável Soluções mais sofisticadas permitem estimar os valores de atributos faltando

Estimativa de Valor Probability that Refund=Yes is 3/9 No Probability that Refund=Yes is 3/9 Probability that Refund=No is 6/9 Assign record to the left child with weight = 3/9 and to the right child with weight = 6/9 Refund Yes No