51
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á [email protected] - [email protected]

Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Embed Size (px)

Citation preview

Page 1: 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á

[email protected] - [email protected]

Page 2: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 3: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Comunidade Pentaho Brasil

http://www.pentahobrasil.com.br

https://www.facebook.com/pentahobrasil

Page 4: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 5: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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!

Page 6: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Processo de KDD

Page 7: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 8: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Outros termos...

Page 9: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 10: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 11: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 12: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 13: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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

Page 14: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 15: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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

Page 16: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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

Page 17: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 18: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Pentaho Data Mining (PDM)

● Explorer: testar classificadores/filtros

● Experimenter: Comparação de desempenho

● KnowledgeFlow: Interface gráfica

● SimpleCli: Interface de linha de comando

Page 19: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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

Page 20: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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"}

Page 21: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Outros datasets para treinar

Page 22: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

PDI & PDM

Page 23: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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/

Page 24: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 25: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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

Page 26: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Construindo um modelo (classificador)

Page 27: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Weka – Explorer

Page 28: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Visualização Gráfica

Page 29: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Avaliando cada atributo

Page 30: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 31: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Classificador OneR

● É uma árvore de decisão de um nível, ou seja, regras que utilizam um atributo particular (1993)

Page 32: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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

Page 33: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Classificador J48 (C4.5) – Árvore de Decisão

Page 34: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Árvores de decisão

if X > 5 then blueelse if Y > 3 then blueelse if X > 2 then greenelse blue

Page 35: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Redes Neurais

Podem selecionar regiões mais complexasPodem ser mais precisasPodem se ajustar aos dados - encontrar padrões em dados com ruído

Page 36: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Output source code

Page 37: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Outras abordagens para classificadores

● Rules● Genetic Algorithms● Ensemble● E muitos outros

Page 38: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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

Page 39: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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?

Page 40: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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

Page 41: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Experimenter

Page 42: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Experimenter

Page 43: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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.

Page 44: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Hands on

● Instalar Weka● Explore the interface “Explorer”● Explorar alguns datasets● Construir alguns classificadores● Interpretar as saídas● Utilizar Filtros● Visualizar seu dataset

Page 45: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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?

Page 46: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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

Page 47: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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?

Page 48: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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

Page 49: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Cursos

Page 50: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

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

Page 51: Pentaho Data Mining - FTSL - Fórum de Tecnologia de Software Livre - Serpro - 2015 - Curitiba

Contato

Obrigado a todos!

Prof. Marcos Vinicius Fidelis

[email protected] - [email protected]