Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
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 de 44
Surgiu com a necessidade de
tratar a grande quantidade de
dados disponíveis!
3. 3 de 44
A internet em um minuto
http://techwelkin.com/in-one-minute-of-internet-infographic
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.
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 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 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 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 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 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 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 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 de 44
Comunidade Pentaho Brasil
https://www.facebook.com/pentahobrasil
http://www.pentahobrasil.com.br
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 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 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 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 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 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 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 de 44
Tipos de dados
● @attribute Nome string
● @attribute Salario numeric
● @attribute sexo {masculino, feminino}
● @atttribute dtCompra date "yyyy-MM-dd"
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.
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 de 44
Classificador J48 (C4.5) – Árvore de Decisão
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 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
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 de 44
Outras abordagens para classificadores
● Rules
● Genetic Algorithms
● Ensemble
● E muitos outros
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 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 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 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 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 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 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 de 44
Contato
Obrigado a todos!
Marcos Vinicius Fidelis
mvfidelis@uepg.br - fidelis@utfpr.edu.br