Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014

1.412 visualizações

Publicada em

Palestra FTSL 2014 - Construção de Classificadores utilizando Pentaho Data Mining (WEKA)

Publicada em: Dados e análise
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.412
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
77
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014

  1. 1. 1 de 44 Construção de Classificadores Marcos Vinicius Fidelis Analista de Informática – Universidade Estadual de Ponta Grossa Professor – Universidade Tecnológica Federal do Paraná fidelis@utfpr.edu.br - mvfidelis@uepg.br
  2. 2. 2 de 44 Surgiu com a necessidade de tratar a grande quantidade de dados disponíveis!
  3. 3. 3 de 44 A internet em um minuto http://techwelkin.com/in-one-minute-of-internet-infographic
  4. 4. 4 de 44 KDD - DM ● Extração de conhecimento (Knowledge Discovery in Databases) é um processo de extração de informações de base de dados, que cria relações de interesse que não são observadas pelo especialista no assunto, bem como auxilia a validação de conhecimento extraído. ● Mineração de Dados (Data Mining) é um passo no processo de KDD que consiste na aplicação de análise de dados e algoritmos de descobrimento que produzem uma enumeração de padrões (ou modelos) particular sobre os dados.
  5. 5. 5 de 44 Processo de KDD
  6. 6. 6 de 44 SAD e MD ● O produto esperado da extração de conhecimento é uma informação relevante para ser utilizada pelos tomadores de decisão. Alguns autores, porém, defendem o ponto de vista de que o conhecimento descoberto não precisa necessariamente ser incorporado a um sistema de apoio à decisão (SAD). ● Áreas envolvidas: aprendizado de máquinas; banco de dados inteligente; computação de alto desempenho; estatística; inteligência artificial; visualização de dados; reconhecimento de padrões e sistemas especialistas.
  7. 7. 7 de 44 Data Warehouse ● Um data warehouse é um sistema de computação utilizado para armazenar informações relativas às atividades de uma organização em bancos de dados, de forma consolidada. O desenho da base de dados favorece os relatórios, a análise de grandes volumes de dados e a obtenção de informações estratégicas que podem facilitar a tomada de decisão.
  8. 8. 8 de 44 Business Intelligence ● O termo Business Intelligence (BI), pode ser traduzido como Inteligência de negócios, refere-se ao processo de coleta, organização, análise, compartilhamento e monitoramento de informações que oferecem suporte a gestão de negócios.
  9. 9. 9 de 44 Data Mining ● Mineração de dados é o processo de explorar grandes quantidades de dados à procura de padrões consistentes, como regras de associação ou sequências temporais, para detectar relacionamentos sistemáticos entre variáveis, detectando assim novos subconjuntos de dados.
  10. 10. 10 de 44 A quem interessa Mineração de Dados? ● Empresa – Identificar categorias de consumidores – Hábitos de consumo associados a categorias – Retenção de clientes – Afinidades entre produtos – CRM – Marketing – Identificação de competências em currículos ● Saúde – Auxiliar o processo de triagem de pacientes – Melhorar diagnósticos ● Outros – Bioinformática – Investimentos/Seguros – Esportes – Entretenimento ● Auditoria – Detecção de fraudes – Identificação de desvios
  11. 11. 11 de 44 Escândalo dos cartões corporativos Caso 3: Se {“Locação de automóvel sem condutor”,”R$1000-R$1500”} então {“Sec.Esp. De Políticas de Promoção da Igualdade Racial”} suporte = 1,15% e confiança = 86,67% Ressalta-se que esse exemplo é exatamente o pivô das discussões sobre cartões, configurado no aluguel de carros em viagens.
  12. 12. 12 de 44 Por que minerar dados? Para ter informações que ajudem no processo decisório O que posso encontrar? Padrões preditivos, associativos e de agrupamento.
  13. 13. 13 de 44 Módulos Pentaho A Suite Pentaho é composta pelo Pentaho BI Server, Pentaho Data Integration, Pentaho Analysis, Pentaho Reporting, Pentaho Dasboards e Pentaho Data Mining. – Pentaho Data Integration: Ta mbém conhecido como Kettle é uma solução robusta para integração de dados, recomendada para processos de ETL (do inglês Extract, Transfomation and Load) responsáveis por popular um Data Warehouse, Migração de base de dados e Integração entre Aplicações. Não deixa nada a desejar para os principais player’s do mercado. – Pentaho Analysis: Também conhecido como Mondrian é um poderoso motor olap, baseado em uma arquitetura ROLAP, onde pode-se utilizar os principais SGBD’s do mercado. Possui diversas funcionalidades, como, camada de metadados, linguagem MDX, cache em memória, tabelas agregadas e muito mais. – Pentaho Reporting: Este módulo da suite comtempla duas ferramentas, uma ferramenta de geração de relatórios, também conhecida como JFreeReport e outra para geração de metadados, a qual permite a criação Ad-Hoc de relatórios via web browser. – Pentaho Dashboards: Este módulo da suite permite a criação de paineis de controle, mais conhecidos como Dashboards e através dele é possivel reunir em uma mesma tela, os principais indicadores de um departamento ou de toda a empresa. – Pentaho Data Mining: Também conhecido como Weka é o módulo mais antigo da suite e possui poderosos recursos para mineração de dados.
  14. 14. 14 de 44 Comunidade Pentaho Brasil https://www.facebook.com/pentahobrasil http://www.pentahobrasil.com.br
  15. 15. 15 de 44 Pentaho Data Mining (PDM) ● Explorer: testar classificadores/filtros ● Experimenter: Comparação de desempenho ● KnowledgeFlow: Interface gráfica ● SimpleCli: Interface de linha de comando
  16. 16. 16 de 44 História ● 1992 – submissão do projeto ao governo de NZ (Ian Witten) ● 1993 – aprovado pelo governo ● 1994 – Primeira versão (principalmente em C) ● 1996 – Primeira versão pública – WEKA 2.1 ● 1997 – Convertido para Java ● 1998 – WEKA 3 (completamente Java) ● 2006 – O projeto foi incorporado ao Pentaho
  17. 17. 17 de 44 O que tenho disponível? ● 100+ algoritmos de classificação ● 75 para pré-processamento de dados ● 25 para apoiar o processo de Seleção de Atributos ● 20 para agrupamento, regras de associação, etc
  18. 18. 18 de 44 Tarefas de Mineração de Dados • Classificação: aprendizado de uma função que mapeia um dado em uma de várias classes conhecidas. • Regressão (predição): aprendizado de uma função que mapeia um dado em um valor real. • Agrupamento (clustering): identificação de grupos de dados onde os dados tem características semelhantes entre si e os grupos tem características diferentes. • Sumarização: descrição do que caracteriza um conjunto de dados (ex. conjunto de regras). • Detecção de desvios ou outliers: identificação de dados que deveriam seguir um padrão mas não o fazem.
  19. 19. 19 de 44 Predição ● Classificação ● Regressão ● Missão: Dado um conjunto de exemplos pré-classificados, construir um modelo (Classificador) para classificar novos casos. ● Um classificador pode ser um conjunto de regras, uma árvore de decisão, uma rede neural, etc.
  20. 20. 20 de 44 Todos os padrões são interessantes? Um padrão é interessante se: ● Pode ser facilmente compreendido por humanos ● É válido em dados de teste com um certo grau de certeza ● Potencialmente útil ● Novo ● valida uma hipótese do usuário
  21. 21. 21 de 44 Um exemplo de dataset @relation tempo @attribute aparencia {ensolarado, nublado, chuvoso} @attribute temperature real @attribute humidity real @attribute windy {TRUE, FALSE} @attribute play {sim, nao} @data ensolarado,85,85,FALSE,nao ensolarado,80,90,TRUE,nao nublado,83,86,FALSE,sim chuvoso,70,96,FALSE,sim chuvoso,68,80,FALSE,sim chuvoso,65,70,TRUE,nao nublado,64,65,TRUE,sim ensolarado,72,95,FALSE,nao ensolarado,69,70,FALSE,sim chuvoso,75,80,FALSE,sim ensolarado,75,70,TRUE,sim nublado,72,90,TRUE,sim nublado,81,75,FALSE,sim chuvoso,71,91,TRUE,nao
  22. 22. 22 de 44 Tipos de dados ● @attribute Nome string ● @attribute Salario numeric ● @attribute sexo {masculino, feminino} ● @atttribute dtCompra date "yyyy-MM-dd"
  23. 23. 23 de 44 Outros datasets para treinar
  24. 24. PDI - Extração de dados do Facebook com Pentaho 24 de 44 http://www.devmedia.com.br/extracao-de-dados-do-facebook-com-a-suite-pentaho/25523
  25. 25. 25 de 44 Weka – Explorer
  26. 26. 26 de 44 Visualização Gráfica
  27. 27. 27 de 44 Avaliando cada atributo
  28. 28. 28 de 44 Classificador ZeroR O classificador ZeroR prevê a classe mais frequente para atributos categóricos e a média para Atributos numéricos. Útil para servir de “baseline” para avaliação de outros classificadores.
  29. 29. 29 de 44 Classificador OneR
  30. 30. 30 de 44 Classificador Bayes ● Oposto do OneR: utiliza todos os atributos e regras Bayes para estimar a probabilidade de uma classe para uma instância ● Naive Bayes tem um desempenho muito bom ● Pode ser prejudicado por muitos atributos redundantes
  31. 31. 31 de 44 Classificador J48 (C4.5) – Árvore de Decisão
  32. 32. 32 de 44 Árvores de decisão if X > 5 then blue else if Y > 3 then blue else if X > 2 then green else blue
  33. 33. 33 de 44 Redes Neurais Podem selecionar regiões mais complexas Podem ser mais precisas Podem se ajustar aos dados - encontrar padrões em dados com ruído
  34. 34. 34 de 44 Output source code
  35. 35. 35 de 44 Dividindo o dataset ● Conjunto de treinamento – Utilizado para a construção do classificador – Quanto maior, melhor o classificador gerado ● Conjunto de Teste (Validação) – Utilizado para estimar o desempenho
  36. 36. 36 de 44 Outras abordagens para classificadores ● Rules ● Genetic Algorithms ● Ensemble ● E muitos outros
  37. 37. 37 de 44 Como avaliar um classificador? ● Taxa de erro = n° de erros / total ● Validação Cruzada: Dividir os dados em n partições treino/teste e calcular o erro médio ● Matriz de Confusão: Separa os diversos tipos de erro: Falso Positivo (o classificador prevê que é de uma classe e não é) e Falso Negativo (o classificador não detecta que é da classe) Matriz de Conf. Classificado Sim Classificado Não Realmente Sim TP FN Realmente Não FP TN Taxa de erro = (FP+FN)/n Confiança positiva = TP/(TP+FP) Confiança negativa = TN/(TN+FN) Sensibilidade = TP/(TP+FN) Precisão (acuracy) = (TP+TN)/n
  38. 38. 38 de 44 Seleção de Atributos ● Realizada no pré-processamento dos dados ● Usada para investigar quais atributos (subconjuntos deles) são mais preditivos ● 2 etapas: – Um método de busca – Um método de avaliação ● Flexibilidade: (quase) qualquer combinação de busca/avaliação
  39. 39. 39 de 44 Experimenter ● Determinar e o desvio padrão do desempenho de um algoritmo de classificação em um dataset … – Ou vários algoritmos em vários datasets ● Analisar se um algoritmo é melhor que outro em um dataset particular? Esta diferença é estatisticamente significante? ● Testar configurações de parâmetros de um mesmo algoritmo. ● Os dados e resultados da análise podem ser armazenados em um arquivo .ARFF ● O processamento pode levar dias ou semanas, e pode ser distribuído em vários computadores.
  40. 40. 40 de 44 MD e privacidade ● MD busca PADRÕES e não PESSOAS. ● Soluções técnicas podem limitar a invasão de privacidade – Substituir informações sigilosas com um id anônimo – Fornecer saídas aleatórias – Utilizar rótulos em instâncias que escondam o real significado.
  41. 41. 41 de 44 Minerando Big Data ● A partir da 3.7 - packages para MD distribuída – DistributedWekaBase: Tarefas básicas de “map” e “reduce” – DistributedWekaHadoop: fornece Hadoop-specific wrappers e jobs para várias tarefas ● http://www.cs.waikato.ac.nz/ml/weka/bigdata.html ● Algoritmos tradicionais precisam de todos os dados em memória – Incremental schemes – Stream algorithms – MOA (Massive Online Analysis) - http://moa.cs.waikato.ac.nz/ ● http://markahall.blogspot.com.br/2013/03/learning-linear-models- in-hadoop-with.html
  42. 42. 42 de 44 Referência ● Livro-texto – Data Mining: Practical machine learning tools and techniques, by Ian H. Witten, Eibe Frank and Mark A. Hall. Morgan Kaufmann, 2011 ● Download – http://www.cs.waikato.ac.nz/ml/weka – para Windows, Mac, Linux
  43. 43. 43 de 44 Onde conseguir mais informações? ● https://www.facebook.com/pentahobrasil ● http://www.pentahobrasil.com.br ● http://weka.pentaho.com/ ● Mineração de Dados - Conceitos, Aplicações e Experimentos com Weka – http://www.lbd.dcc.ufmg.br/colecoes/erirjes/2004/004.pdf ● KDnuggets – news, software, jobs, courses,… – www.KDnuggets.com ● ACM SIGKDD – data mining association – www.acm.org/sigkdd
  44. 44. 44 de 44 Contato Obrigado a todos! Marcos Vinicius Fidelis mvfidelis@uepg.br - fidelis@utfpr.edu.br

×