Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba
1. Pentaho Data Mining
(a.k.a WEKA)
Prof. 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. Palestrante
Professor da UTFPR na graduação desde 1996, e Analista de Informática da UEPG desde
1991.
Pesquisador e usuário do WEKA (atual Pentaho Data Mining) desde 1999, cursou Data
Mining with Weka em 2013 e More Data Mining with Weka em 2014, promovidos pela
University of Waikato.
Entusiasta de Software Livre e Código Aberto desde 2007.
Na UEPG é Coordenador de Projetos na Área de Gestão Acadêmica, e em 2009 implantou
os Frameworks Grails e JasperReports utilizados no Sistema de Gestão Acadêmica.
Na UTFPR, entre outros softwares, adota o PostgreSQL e Pentaho.
Participou como palestrante nos seguintes eventos de Software Livre: FISL, Flisol, FTSL,
Latinoware e PentahoDay.
4. 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.
5. KDD – Knowledge Database Discovery
● KDD inclui atividades multidisciplinares (IA, BD, Estatística e
Visualização de Dados)
● Os padrões identificados nos dados devem ser válidos em dados
novos e possuir o mesmo grau de confiança. Estes padrões são
considerados conhecimento novo
● Um padrão para ser classificado como conhecimento deve ser
novo, útil e compreensível, permitindo melhorar o entendimento
de um problema ou um procedimento de tomada de decisão
● Torture os dados até confessarem!
7. 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.
9. Sistemas de Apoio à Decisão 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.
10. 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.
11. 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.
12. BI x DM
● Diariamente as empresas acumulam grande volume de dados em seus aplicativos
operacionais. São dados brutos que dizem quem comprou o quê, onde, quando e em que
quantidade. É a informação vital para o dia-a-dia da empresa. Se fizermos estatística ao final
do dia para repor estoques e detectar tendências de compra, estaremos praticando business
inteligence (BI). Se analisarmos os dados com estatística de modo mais refinado, à procura
de padrões de vinculações entre as variáveis registradas, então estaremos fazendo
mineração de dados. Buscamos com a MD conhecer melhor os clientes, seus padrões de
consumo e motivações. A Mineração de Dados resgata em organizações grandes o papel do
dono atendendo no balcão e conhecendo sua clientela. Esses dados agora podem agregar
valor às decisões da empresa, sugerir tendências, desvendar particularidades dela e de seu
meio ambiente e permitir ações melhor informadas aos seus gestores.
●
Pode-se então diferenciar o business inteligence da mineração de dados (MD) como dois
patamares distintos de atuação. O primeiro visa obter a partir dos dados operativos brutos,
informação útil para subsidiar a tomada de decisão nos escalões médios e altos da
empresa. O segundo busca subsidiar a empresa com conhecimento novo e útil acerca do
seu meio ambiente. O primeiro funciona no plano tático, o segundo no estratégico.
13. Todo padrão é interessante?
● 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
14. Tarefas mais comuns de DM
• 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.
15. 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
● E muitas outras contribuições como AIS, AC e AG
16. Seleção de Atributos
● Realizada no pré-processamento dos dados
● Utilizada para investigar quais atributos
(subconjuntos deles) são mais preditivos
● AttributeSelection em 2 etapas:
– Um método de busca
– Um método de avaliação
● Flexibilidade: (quase) qualquer combinação de
busca/avaliação
17. Onde utilizar DM?
● Quanto mais direcionados os anúncios, mais
eficaz você pode ser
● Buscando padrões úteis em dados de vendas,
políticas públicas, medicina, seguros, esportes
e etc.
● Analisar os dados de sensores, internet das
coisas.
18. Pentaho Data Mining (PDM)
● Explorer: testar
classificadores/filtros
● Experimenter:
Comparação de
desempenho
● KnowledgeFlow:
Interface gráfica
● SimpleCli: Interface de
linha de comando
19. 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
23. Limitações
● Algoritmos tradicionais precisam ter todos os
dados na memória
● Solução
– Incremental schemes
– Stream algorithms
– MOA (Massive Online Analysis)
● http://moa.cs.waikato.ac.nz/
24. 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.
25. Classificação
Ponto de classe desconhecida
Dado um conjunto de pontos das classes (V)erde e (A)zul
Qual é a classe para o novo ponto (D)esconhecido
30. 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.
31. Classificador OneR
● É uma árvore de
decisão de um nível,
ou seja, regras que
utilizam um atributo
particular (1993)
32. 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
37. Outras abordagens para classificadores
● Rules
● Genetic Algorithms
● Ensemble
● E muitos outros
38. 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. Como avaliar classificadores?
● Acurácia
● Custo/benefício total – quando diferentes erros
envolvem diferentes custos
● Curvas de Lift e ROC
● Erro em predições numéricas
Quanto confiável são os resultados previstos?
40. Experimenter
● permite a comparação de diferentes estratégias de
aprendizagem.
● Para problemas de classificação e regressão
● Resultados escritos em um arquivo ou base de dados
● Opções de avaliação: cross-validation, curva de
aprendizagem, hold-out
● Pode ser executado com diferentes configurações de
parâmetros
● Teste de significância acoplado
43. Mudando o jeito de gerenciar o negócio
● Uma fase é o BI utilizando ETL e ferramentas
analíticas para suporte a decisão
● Outra fase é utilizar o BI antes de acontecer os
problemas, prever problemas, e/ou utilizar os
sistemas de apoio a decisão baseados em
aprendizagem de máquina junto aos sistemas
transacionais.
44. Hands on
● Instalar Weka
● Explore the interface “Explorer”
● Explorar alguns datasets
● Construir alguns classificadores
● Interpretar as saídas
● Utilizar Filtros
● Visualizar seu dataset
45. Exercícios
https://weka.waikato.ac.nz/dataminingwithweka/assets/arff/contact-lenses.arff
1) Quantas instâncias possui o dataset?
2) Quantos atributos possui o dataset?
3) Quais são os valores possíveis para o atributo age?
4) Quais são os valores possíveis para o atributo astigmatism?
5) Quantas instâncias possuem o valor "normal" para o atributo tear-prod-rate?
6) Quais instâncias possuem o valor "reduced" para o atributo tear-prod-rate? Especifique o número da
instância (ex.: se houvessem 10 instâncias, com as três primeira contendo o valor, a resposta, seria
1,2,3)
7) Quais são os valores possíveis para o atributo contact-lenses?
46. Exercícios
Para os testes com classificadores em todas as questões, a menos que seja explicitamente solicitado, utilize as configurações
padrões do algoritmo solicitado.
Como reforço, as condições de teste deverão ser cross-validation com 10 folds.
8) Utilizando o classificador Zero-R, qual é a classe prevista?
9) Qual a acurácia do classificador Zero-R (percentual)?
10) Analisando a matriz de confusão, quantas instâncias foram classificadas como "none" e eram na verdade "soft"?
11) Utilizando o classificador J48 (nas configurações padrões como citado anteriormente), qual acurácia do classificador?
12) Quantas instâncias foram classificadas incorretamente?
13) Quantas instâncias eram "hard" e foram classificadas como "none"?
14) Qual o valor para a estatística Kappa para o classificador?
15) Qual o número de folhas para o classificador?
16) Utilizando o exemplo
"se tear-prod-rate=normal e astigmatism=no então contact-lenses=soft", esta pode ser considerada a regra produzida pela folha
de número 2.
Qual a regra produzida pela folha de número 3?
17) Utilizando o classificador SimpleLogistic, qual a acurácia do classificador?
18) Utilizando o classificador OneR, considerando que o classificador produziu a regra:
"se tear-prod-rate=reduced então contact-lenses=none
se tear-prod-rate=normal então contact-lenses=soft"
Observe a matriz de confusão e informe qual foi a classe prevista pelo classificador nas instâncias cuja classe real era "hard":
a) soft b)hard c) none
47. Exercícios
Utilizando o dataset labor
https://weka.waikato.ac.nz/dataminingwithweka/assets/arff/labor.arff
19) Quantos atributos possui o dataset?
20) Quais os valores válidos para o atributo vacation?
21) Quais os valores mínimo e máximo para o atributo working-hours?
22) Utilizando o classificador J48, qual a acurácia?
23) Qual a quantidade de instâncias que tinham o valor de classe real = "bad" e foram classificados
como "good"
24) Utilizando o mesmo raciocínio da questão 16, qual a regra produzida pela folha 1?
25) Qual o número de folhas do classificador?
48. Gabarito
1) 24
2) 5
3) young, pre-presbyopic, presbyopic
4) yes, no
5) 12
6) 1,3,5,7,9,11,13,15,17,19,21,23
7) soft, hard, none
8) none
9) 62,5
10) 5
11) 83.3333
12) 4
13) 1
14) 0.71
15) 4
16) se tear-prod-rate=normal e astigmatism=yes e spectacle-prescrip=myope então contact-lenses=hard"
17) 70.8333
18) a
19) 17
20) velow_average, average, generous
21) 27 e 40
22) 73.6842
23) 6
24) se wage-increase-first-year <=2.5 então class="bad"
25) 3
50. Onde conseguir mais informações?
● http://weka.pentaho.com/
● http://www.cs.waikato.ac.nz/ml/weka/
● Mineração de Dados - Conceitos, Aplicações e Experimentos com
Weka
– http://www.lbd.dcc.ufmg.br/colecoes/erirjes/2004/004.pdf
● Data Mining: Practical Machine Learning Tools and Techniques, Third Edition
(The Morgan Kaufmann Series in Data Management Systems)
● KDnuggets
– news, software, jobs, courses,…
– www.KDnuggets.com
● ACM SIGKDD – data mining association
– www.acm.org/sigkdd