Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
-
Upload
marcos-vinicius-fidelis -
Category
Data & Analytics
-
view
459 -
download
0
description
Transcript of Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
1 de 44
Construção de Classificadores
Marcos Vinicius Fidelis
Analista de Informática – Universidade Estadual de Ponta GrossaProfessor – Universidade Tecnológica Federal do Paraná
2 de 44
Surgiu com a necessidade de tratar a grande quantidade de dados disponíveis!
3 de 44
A internet em um minuto
http://techwelkin.com/in-one-minute-of-internet-infographic
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 de 44
Processo de KDD
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 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 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 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 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 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 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 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 de 44
Comunidade Pentaho Brasil
http://www.pentahobrasil.com.br
https://www.facebook.com/pentahobrasil
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 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 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 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 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 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 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}@dataensolarado,85,85,FALSE,naoensolarado,80,90,TRUE,naonublado,83,86,FALSE,simchuvoso,70,96,FALSE,simchuvoso,68,80,FALSE,simchuvoso,65,70,TRUE,naonublado,64,65,TRUE,simensolarado,72,95,FALSE,naoensolarado,69,70,FALSE,simchuvoso,75,80,FALSE,simensolarado,75,70,TRUE,simnublado,72,90,TRUE,simnublado,81,75,FALSE,simchuvoso,71,91,TRUE,nao
22 de 44
Tipos de dados
● @attribute Nome string● @attribute Salario numeric● @attribute sexo {masculino, feminino}● @atttribute dtCompra date "yyyy-MM-dd"
23 de 44
Outros datasets para treinar
24 de 44
PDI - Extração de dados do Facebook com Pentaho
http://www.devmedia.com.br/extracao-de-dados-do-facebook-com-a-suite-pentaho/25523
25 de 44
Weka – Explorer
26 de 44
Visualização Gráfica
27 de 44
Avaliando cada atributo
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 de 44
Classificador OneR
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 de 44
Classificador J48 (C4.5) – Árvore de Decisão
32 de 44
Árvores de decisão
if X > 5 then blueelse if Y > 3 then blueelse if X > 2 then greenelse blue
33 de 44
Redes Neurais
Podem selecionar regiões mais complexasPodem ser mais precisasPodem se ajustar aos dados - encontrar padrões em dados com ruído
34 de 44
Output source code
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 de 44
Outras abordagens para classificadores
● Rules● Genetic Algorithms● Ensemble● E muitos outros
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)/nConfiança positiva = TP/(TP+FP)Confiança negativa = TN/(TN+FN)Sensibilidade = TP/(TP+FN)Precisão (acuracy) = (TP+TN)/n
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 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 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 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 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 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 de 44
Contato
Obrigado a todos!
Marcos Vinicius Fidelis