Download - Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba
Pentaho Data Mining (a.k.a WEKA)
Prof. Marcos Vinicius Fidelis
Analista de Informática – Universidade Estadual de Ponta GrossaProfessor – Universidade Tecnológica Federal do Paraná
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.
Comunidade Pentaho Brasil
http://www.pentahobrasil.com.br
https://www.facebook.com/pentahobrasil
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.
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!
Processo de KDD
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.
Outros termos...
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.
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.
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.
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.
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
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.
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
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
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.
Pentaho Data Mining (PDM)
● Explorer: testar classificadores/filtros
● Experimenter: Comparação de desempenho
● KnowledgeFlow: Interface gráfica
● SimpleCli: Interface de linha de comando
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
Arquivo ARFF
% 1. Title: Iris Plants Database
%
% 2. Sources:
% (a) Creator: R.A. Fisher
% (b) Donor: Michael Marshall (MARSHALL%[email protected])
% (c) Date: July, 1988
%
@RELATION iris
@ATTRIBUTE sepallength NUMERIC
@ATTRIBUTE sepalwidth NUMERIC
@ATTRIBUTE petallength NUMERIC
@ATTRIBUTE petalwidth NUMERIC
@ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica}
@DATA
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
● @relation <relation-name>● @attribute <attribute-name> <datatype>
– numeric
– <nominal-specification>
– string
– date [<date-format>]
– Ex: @ATTRIBUTE timestamp DATE "yyyy-MM-dd HH:mm:ss"
● Sparse ARFF files– @data
– 0, X, 0, Y, "class A" 0, 0, W, 0, "class B"
– @data
– {1 X, 3 Y, 4 "class A"} {2 W, 4 "class B"}
Outros datasets para treinar
PDI & PDM
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/
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.
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
Construindo um modelo (classificador)
Weka – Explorer
Visualização Gráfica
Avaliando cada atributo
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.
Classificador OneR
● É uma árvore de decisão de um nível, ou seja, regras que utilizam um atributo particular (1993)
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
Classificador J48 (C4.5) – Árvore de Decisão
Árvores de decisão
if X > 5 then blueelse if Y > 3 then blueelse if X > 2 then greenelse blue
Redes Neurais
Podem selecionar regiões mais complexasPodem ser mais precisasPodem se ajustar aos dados - encontrar padrões em dados com ruído
Output source code
Outras abordagens para classificadores
● Rules● Genetic Algorithms● Ensemble● E muitos outros
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
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?
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
Experimenter
Experimenter
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.
Hands on
● Instalar Weka● Explore the interface “Explorer”● Explorar alguns datasets● Construir alguns classificadores● Interpretar as saídas● Utilizar Filtros● Visualizar seu dataset
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?
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=nonese 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
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?
Gabarito
1) 242) 53) young, pre-presbyopic, presbyopic4) yes, no5) 126) 1,3,5,7,9,11,13,15,17,19,21,237) soft, hard, none8) none9) 62,510) 511) 83.333312) 413) 114) 0.7115) 416) se tear-prod-rate=normal e astigmatism=yes e spectacle-prescrip=myope então contact-lenses=hard"17) 70.833318) a19) 1720) velow_average, average, generous21) 27 e 4022) 73.684223) 624) se wage-increase-first-year <=2.5 então class="bad"25) 3
Cursos
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
Contato
Obrigado a todos!
Prof. Marcos Vinicius Fidelis