A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Marcus Sampaio DSC/UFCG Vários slides foram adaptados, traduzidos ou copiados de Pang-Ning Tan (ver Bibliografia)

Apresentações semelhantes


Apresentação em tema: "Marcus Sampaio DSC/UFCG Vários slides foram adaptados, traduzidos ou copiados de Pang-Ning Tan (ver Bibliografia)"— Transcrição da apresentação:

1 Marcus Sampaio DSC/UFCG Vários slides foram adaptados, traduzidos ou copiados de Pang-Ning Tan (ver Bibliografia)

2 Marcus Sampaio DSC/UFCG Etapas do Processo

3 Marcus Sampaio DSC/UFCG Etapas do Processo Seleção Pré-Processamento Transformação Garimpagem Análise e Assimilação

4 Marcus Sampaio DSC/UFCG 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

5 Marcus Sampaio DSC/UFCG 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

6 Marcus Sampaio DSC/UFCG 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

7 Marcus Sampaio DSC/UFCG 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 Pré-Processamento: Limpeza

8 Marcus Sampaio DSC/UFCG 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

9 Marcus Sampaio DSC/UFCG 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 Limpeza

10 Marcus Sampaio DSC/UFCG 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

11 Marcus Sampaio DSC/UFCG Etapas do Processo Seleção Pré-Processamento Transformação Garimpagem Análise e Assimilação

12 Marcus Sampaio DSC/UFCG 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 Transformação

13 Marcus Sampaio DSC/UFCG 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

14 Marcus Sampaio DSC/UFCG Etapas do Processo Seleção Pré-Processamento Transformação Garimpagem Análise e Assimilação

15 Marcus Sampaio DSC/UFCG 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 –... Garimpagem ou Mineração

16 Marcus Sampaio DSC/UFCG Etapas do Processo Seleção Pré-Processamento Transformação Garimpagem Análise e Assimilação

17 Marcus Sampaio DSC/UFCG 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 Análise e Assimilação

18 Marcus Sampaio DSC/UFCG Underfitting e Overfitting de Modelos Valores Faltando em Dados para Mineração Métricas de Desempenho dos Algoritmos Indutores Três Questões a Analisar

19 Marcus Sampaio DSC/UFCG Overfitting e Underfitting Um bom modelo deve ter –Alta acurácia de treinamento (ac trein ) –Alta acurácia de teste (ac teste ) Pode ocorrer que alta ac trein baixa ac teste –Overfitting Underfitting de um modelo –Baixa ac trein e baixa ac teste Modelos com underfitting e overfitting devem ser descartados –O importante é ac teste

20 Marcus Sampaio DSC/UFCG Overfitting Underfitting: quando o modelo é muito simples, tanto as acurácias de treinamento quanto as de teste são baixas Underfitting e Overfitting Number of nodes indica o tamanho do modelo induzido Underfitting

21 Marcus Sampaio DSC/UFCG 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 ac trein –Má distribuição das classes –Ruído ou sujeira –Falta de representatividade das classes Conjunto de Treinamento

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

23 Marcus Sampaio DSC/UFCG Pouca Representatividade Nome Temp. do Corpo Nasc. Uterino 4 Pernas Hiber- na Classe Salaman dra frianãosim Não mamífero Guppyfriasimnão Não mamífero Águiaquentenão Não mamífero Poorwillquentenão simNão mamífero Platypus quentenãosim Mamífero

24 Marcus Sampaio DSC/UFCG 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 ac trein e 70% de ac teste, caracterizando overfitting

25 Marcus Sampaio DSC/UFCG Note que um padrão para o ponto sujo não tem valor estatístico Ruído ou Sujeira

26 Marcus Sampaio DSC/UFCG Solução para Underfitting O problema de underfitting pode ser resolvido com um conjunto de treinamento de bom tamanho –Técnicas de amostragem ajudam

27 Marcus Sampaio DSC/UFCG 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 Overfitting: Algumas Conclusões

28 Marcus Sampaio DSC/UFCG 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 –Acurácia de Previsão = f(Acurácia de Teste) Estimativa de Acurácia de Previsão

29 Marcus Sampaio DSC/UFCG 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 Acurácia de Previsão

30 Marcus Sampaio DSC/UFCG Validação Cruzada (Cross Validation)

31 Marcus Sampaio DSC/UFCG –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

32 Marcus Sampaio DSC/UFCG 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

33 Marcus Sampaio DSC/UFCG PREDICTED CLASS ACTUAL CLASS Class=YesClass=No Class=Yesa (TP) b (FN) Class=Noc (FP) d (TN) Métricas de Desempenho: Acurácia

34 Marcus Sampaio DSC/UFCG 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

35 Marcus Sampaio DSC/UFCG 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 Acurácia: Limitações

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

37 Marcus Sampaio DSC/UFCG 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 = Z N p(lower) p(upper) Intervalo de Confiança para Acurácia

38 Marcus Sampaio DSC/UFCG Outras Métricas de Desempenho

39 Marcus Sampaio DSC/UFCG 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 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)

40 Marcus Sampaio DSC/UFCG Considere que um sistema de marcou corretamente 20 s como spam, mas não detectou 5 s que são spams –Precisão = 20 / 20 = 100% –Recall = 20 / 25 = 80% –F-measure = 2 / (1 + 1 / 0,8) = 0,89

41 Marcus Sampaio DSC/UFCG 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 Valores Faltando

42 Marcus Sampaio DSC/UFCG Refund YesNo Refund YesNo 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 Estimativa de Valor


Carregar ppt "Marcus Sampaio DSC/UFCG Vários slides foram adaptados, traduzidos ou copiados de Pang-Ning Tan (ver Bibliografia)"

Apresentações semelhantes


Anúncios Google