• Nenhum resultado encontrado

Data Mining com a Ferramenta Weka

N/A
N/A
Protected

Academic year: 2021

Share "Data Mining com a Ferramenta Weka"

Copied!
60
0
0

Texto

(1)

Data Mining com a Ferramenta

Weka

Eduardo Corrêa Gonçalves

Escola Nacional de Ciências Estatísticas (IBGE/ENCE)

Rua André Cavalcanti, 106, Centro – 20.231-050 – Rio de Janeiro – RJ

eduardo.correa@ibge.gov.br

(2)

Tópicos da Apresentação

PARTE 1: Introdução à Mineração de Dados

Data Mining, Fraldas e Cervejas

Tarefas e Técnicas de Mineração de Dados Contexto atual da Mineração de Dados

PARTE 2: Weka – uma Ferramenta Livre para Data Mining

Apresentação da Ferramenta Bases de Dados ARFF

(3)

Parte I. Introdução à Mineração de Dados

Mineração de dados: empregada em pesquisas científicas desde o início dos anos 90.

• Muitas empresas estão se beneficiando da tecnologia com o propósito de alcançar um melhor posicionamento no mercado.

• Mas … o que é mineração de dados? Quais são as suas aplicações práticas?

• Estas questões são discutidas a seguir!

(4)

O que é Mineração de Dados?

Definição simples para

mineração de dados

(data mining):

Processo realizado através de estratégias automatizadas que tem por

objetivo a descoberta de conhecimento valioso em grandes bases de dados.

• Esquema conceitual: um “pequeno diamante de informação” é

(5)

Algoritmos: a Essência da Mineração de Dados

A mineração de dados baseia-se na utilização de algoritmos capazes de vasculhar grandes bases de dados de modo eficiente e revelar padrões interessantes, escondidos dentro da “montanha de dados”.

Estudar data mining significa “mergulhar fundo” nos algoritmos!

Trabalhar com data mining consiste em trabalhar com algoritmos!

Utilizar uma ferramenta de data mining significa conhecer e saber

(6)

Propriedades Básicas de um “Diamante de Informação”

• O conhecimento descoberto através de processos de mineração de dados é considerado interessante quando apresenta certas propriedades:

Validade

Inesperabilidade

Interpretabilidade

Novidade

Utilidade

(7)

Fraldas e Cerveja (1/3)

• Exemplo real (será?) e muito conhecido.

• De acordo com [BL97], a mineração do banco de dados de uma grande loja de departamentos dos EUA, revelou que grande parte dos consumidores que fazem compras nas noites de quinta-feira, costuma adquirir os dois

produtos: fraldas e cerveja.

• Exemplo antigo, mas ainda vale a pena discuti-lo.

• Quando foi minerada, a regra apresentou todas as propriedades capazes de caracterizá-la como interessante para os analistas da loja de departamentos.

• Não por acaso, o exemplo é citado em muitos cursos e livros de mineração de dados.

(8)

Fraldas e Cerveja (2/3)

• Por que a regra foi considerada tão interessante?

• Representava uma informação nova.

• Não era conhecida pelos analistas da empresa.

• Foiuma associação inesperada.

• Os analistas imaginavam que as vendas de cerveja estivessem associadas apenas a produtos como salgados, carne para churrasco e outras bebidas alcoólicas, mas nunca a produtos de higiene infantil.

• A regra foi considerada válida.

• Ela possuía expressividade estatística. Uma porcentagem considerável das compras realizadas nas noites de quinta-feira continha ambos os produtos.

(9)

Fraldas e Cerveja (3/3)

• Por que a regra foi considerada tão interessante? (Continuação...)

• A regra é interpretável.

• Pôde ser entendida e explicada pelos analistas. Sugere que nas noites de quinta-feira, os casais jovens se preparam para o fim-de-semana estocando fraldas para os bebês e cerveja para o papai.

• De maneira estereotipada, podemos até imaginar o jovem “papai norte-americano” como alguém que não pode mais ir ao bar e nem aos jogos de baseball ou futebol americano. Então ele fica em casa, assistindo aos jogos pela TV enquanto bebe as suas latinhas de cerveja!

• E, mais importante do que tudo, a regra descoberta era útil.

• Os gerentes da loja de departamentos puderam tomar ações capazes de aumentar as vendas de cerveja. Ex: os produtos foram colocados em prateleiras próximas.

(10)

Como Surgiu a Mineração de Dados? (1/3)

• A evolução da tecnologia da BD (anos 80 em diante) possibilitou com que as organizações coletassem e armazenassem de forma contínua uma enorme quantidade de dados (sobre clientes, fornecedores, produtos e serviços).

• Nos anos 90 percebeu-se que os dados estavam sendo sub-utilizados.

• Por que não analisá-los para descobrir novas informações e utilizá-las de forma estratégica?

(11)

Como Surgiu a Mineração de Dados? (2/3)

• Logo se percebeu que não se tratava de uma tarefa trivial [FPS96]:

• Empresas mantêm bancos de dados com bilhões ou trilhões de registros históricos de suas transações.

• Centenas de atributos precisam ser analisados simultaneamente. • Métodos tradicionais (SQL, Planilhas, investigação manual) são

inviáveis!

Este cenário motivou o surgimento da ciência que

recebeu o nome de mineração de dados.

Trata-se da linha de pesquisa que se preocupa com a

proposição de metodologias e algoritmos eficientes

para a descoberta de conhecimento em grandes

bancos de dados.

(12)

Como Surgiu a Mineração de Dados? (3/3)

• A Mineração de Dados é uma linha de pesquisa multidisciplinar.

• Ela adaptou ideias provenientes de diferentes áreas com o intuito de resolver o problema da descoberta de conhecimento escondido em grandes bases de dados.

• O esquema abaixo apresenta três dessas áreas (existem outras).

• Para ser justo: a mineração de dados reuniu ideias oriundas de outras áreas e também introduziu algumas novidades.

(13)

O que a Mineração de Dados Pode Fazer? (1/10)

Existem diversas

tarefas

(ou

funcionalidades

) de mineração de

dados (data mining task / function):

• Uma tarefa determina o tipo de problema que será resolvido pelo processo de mineração de dados.

(14)

O que a Mineração de Dados Pode Fazer? (2/10)

Tarefa 1:

DESCOBERTA DE ASSOCIAÇÕES

Objetivo: descobrir combinações de itens ou valores de atributos que ocorrem com frequência significativa em uma base de dados.

Exemplo - Mineração do BD de um supermercado:

“50% das compras que contêm fraldas, também contêm cerveja.

15% de todas as compras contêm os dois produtos”.

Representação (regra de associação):

{fraldas}

{cerveja}

“A compra do produto milho verde aumenta em 5 vezes a chance

de um cliente comprar ervilhas”.

(15)

O que a Mineração de Dados Pode Fazer? (3/10)

Tarefa 1:

DESCOBERTA DE ASSOCIAÇÕES

(Continuação...)

• Outras aplicações para as Regras de Associação • Sistemas de Recomendação: são sistemas que, de maneira autônoma, sugerem itens que considera

interessantes para um usuário (livros, notícias, músicas, vídeos, etc).

Segurança de Sistemas: regras de associação são utilizadas para aprimorar os bancos de dados dos antivírus e sistemas de detecção de intrusões.

(16)

O que a Mineração de Dados Pode Fazer? (4/10)

Tarefa 2:

DESCOBERTA DE PADRÕES SEQUENCIAIS

Objetivo: descobrir sequências de eventos frequentes.

• Parece com a mineração de associações, mas leva em conta a ordem ou a data de ocorrência dos eventos.

Exemplo - Mineração do BD de uma loja de suprimentos de eletrônica:

“50% dos consumidores que adquirem um netbook compram um

hard disk externo de 2 a 4 meses após a aquisição do netbook”.

• Outras aplicações importantes: • Análise de sequências de DNA.

(17)

O que a Mineração de Dados Pode Fazer? (5/10)

Tarefa 2:

DESCOB. DE PADRÕES SEQUENCIAIS

(Continuação)

• Podem ser utilizados em qualquer problema onde seja possível registrar a ordem de ocorrência de eventos.

• Análise de sequências em cadeias de DNA • Mineração de uso da Web

(18)

O que a Mineração de Dados Pode Fazer? (6/10)

Tarefa 3:

CLASSIFICAÇÃO

Objetivo: a partir de um banco de dados contendo objetos pré-classificados (objetos cuja classe é conhecida), construir um modelo que seja capaz de classificar automaticamente novos objetos (objetos cuja a classe é desconhecida) em função de suas características.

• O modelo criado é chamado de modelo classificador. • Exemplo - Mineração do BD de uma seguradora:

(19)

O que a Mineração de Dados Pode Fazer? (7/10)

Tarefa 3:

CLASSIFICAÇÃO

(

Continuação...

)

Sexo feminino : “não se envolve em acidente”

Sexo masculino e idade superior a 25 anos : “não se envolve em acidente”.

Sexo masculino e idade igual ou inferior a 25 anos: “se envolve em acidente”

• O modelo pode ser usado para a empresa prever a classe de um futuro cliente. A classificação é uma tarefa preditiva.

(20)

O que a Mineração de Dados Pode Fazer? (8/10)

Tarefa 4:

DETERMINAÇÃO DE AGRUPAMENTOS

Objetivo: dividir automaticamente um conjunto de objetos em grupos (clusters) de acordo com algum de tipo de relacionamento de similaridade existente.

Exemplo1: se você tivesse que dividir em dois grupos de acordo com a similaridade, como você faria?

1 Exemplo retirado do tutorial "A Gentle Introduction to Machine Learning and Data Mining for the Database

(21)

O que a Mineração de Dados Pode Fazer? (9/10)

Tarefa 4:

DETERMINAÇÃO DE AGRUPAMENTOS

(

Continuação

)

• Algumas soluções possíveis...

• Outras soluções: crianças e adultos, gordos e magros, inteligentes e nem tanto (!), fumantes e não-fumantes, … (veja que clustering é difícil e

(22)

O que a Mineração de Dados Pode Fazer? (10/10)

Outras Tarefas

Mineração de Texto (text mining): descoberta de novas informações a partir da análise de texto livre (artigos, documentos WORD ou PDF, etc.) ou semi-estruturado (ex: arquivos HTML ou XML).

Mineração Web (web mining): uso de algoritmos para minerar conhecimento útil de documentos e serviços da Web.

Regressão: similar à tarefa de classificação. A principal diferença é que o atributo alvo é do tipo contínuo.

Padrões em Séries Temporais: os dados de séries temporais contém observações adjacentes e ordenadas, tipicamente uma sequência de valores numéricos com um atributo representando o tempo.

Mineração de Exceções: o objetivo da tarefa é determinar objetos que sejam diferentes da maioria dos outros objetos. Aplicações práticas: detecção de fraudes, previsão de distúrbios no ecossistema, e outras.

(23)

Como Minerar Dados? (Técnicas de Data Mining)

• O conceito de técnica de mineração de dados é diferente do conceito de tarefa.

• Cada tarefa de mineração de dados possui um conjunto de técnicas associadas, que representam os algoritmos que podem ser

empregados para a sua execução.

Tarefa Técnicas

Regras de Associação Apriori, FP-Growth, DCI, ECLAT, Closet. Padrões Sequenciais AprioriAll, GSP, PrefixSpan, BLAST.

Classificação Naïve Bayes, Árvores de Decisão (ID3, C4.5, CART, CHAID), Redes Neurais, k-Nearest Neighbor, Support Vector Machines.

(24)

Contexto Atual da Mineração de Dados (1/2)

Nos últimos anos, a mineração de dados tem atraído o interesse não apenas dos pesquisadores, mas também das empresas.

• Ela é considerada uma importante tecnologia de Business Intelligence (BI), assim como o data warehousing e a análise OLAP.

Além de ferramentas comerciais (Oracle, SAS, SPSS, SQL Server, …), também existem ferramentas livres para mineração de dados.

• Exemplos:

R : já existem diversos pacotes para data mining que podem ser integrados a este tradicional software open source para estatística. Weka: ferramenta que apresentaremos hoje...

(25)

Contexto Atual da Mineração de Dados (2/2)

A mídia, de um modo geral, também tem dado considerável atenção à mineração de dados.

• É cada vez mais comum encontrar artigos sobre o tema em publicações sobre computação, biologia, marketing, administração, etc.

• Até revistas de variedades e livros de conteúdo não técnico tratam do tema. Exemplos:

• “Numerati” de Stephen Baker. • “O Click” de Bill Tancer.

Mas … há um problema sério: empresas também tentam usar a mineração de dados para invadir nossa privacidade e manipular nosso comportamento !!! (consulte [Bak09])

(26)

Weka – uma Ferramenta Livre para Data Mining

Tópicos: Apresentação da Ferramenta, Bases de Dados ARFF, Weka em

Ação: Minerando um Classificador

(27)

O que é Weka?

É um pássaro típico da Nova Zelândia! Mas não somente...

Weka

é um Software livre do tipo open source para mineração

de dados, desenvolvido em

Java

, dentro das especificações da

GPL

(General Public License).

• O sistema foi desenvolvido por um grupo de pesquisadores da

Universidade de Waikato, Nova Zelândia.

• Ao longo dos anos se consolidou como a ferramenta de data mining mais utilizada em ambiente

acadêmico.

• Seu ponto forte é a tarefa de classificação, mas também é capaz de minerar regras de associação e clusters de dados.

• Pode ser utilizada no modo console ou através da interface gráfica Weka Explorer.

(28)

O Livro da Weka

• As características da Weka e as técnicas nela implementadas são apresentadas no livro “Data Mining: Practical Machine

Learning Tools and Techniques” [WFH11] • Os autores do livro são os idealizadores

da ferramenta.

"If you have data that you want to analyze and

understand, this book and the associated Weka toolkit are

an excellent way to start."

(29)

Como usar a Weka?

• Duas formas principais:

Interface Gráfica: o ambiente Weka Explorer permite a execução dos algoritmos de data mining da Weka de forma interativa. • Veremos um exemplo nessa apresentação!

Console: fazendo a chamada aos algoritmos no prompt.

(30)

Bases de Dados ARFF (1/5)

• O formato ARFF é utilizado como padrão para estruturar as bases de dados

(31)

Bases de Dados ARFF (2/5)

• Ele corresponde a um arquivo texto contendo um conjunto de registros, precedido por um pequeno cabeçalho.

(32)

Bases de Dados ARFF (3/5)

(33)
(34)
(35)

Weka em Ação – Mineração de um Classificador

Agora mostraremos um exemplo prático de utilização da Weka:

• Será realizada a mineração de um classificador! Porém... antes é preciso falar um pouquinho sobre classificação...

(36)

O que é Classificação? (1/2)

Objetivo: a partir de um banco de dados contendo objetos pré-classificados (objetos cuja classe é conhecida), construir um modelo que seja capaz de classificar automaticamente novos objetos (objetos cuja a classe é desconhecida) em função de suas características.

• O modelo criado é chamado de modelo classificador.

É a tarefa de data mining mais popular, pois existem inúmeras aplicações práticas. Alguns exemplos:

Administradoras de cartão de crédito: modelos classificadores são empregafos para detectar se uma transação financeira é “legal” ou “suspeita”.

(37)

Base de Dados para Classificação (1/2)

• A base de dados para classificação deve conter:

• um ou mais atributos preditivos.

• um atributo especial, denominado atributo classe (ou atributo alvo),

sempre do tipo discreto. • Exemplo - BD de uma

locadora de veículos

(38)

Base de Dados para Classificação (2/2)

Exemplo - BD de uma locadora de veículos.

• A ideia é minerar um modelo que classifique o cliente como “cliente de carro nacional” ou “cliente de carro importado” em função de sua “idade” e

“renda”.

• Mostraremos agora como minerar um classificador, sobre a base de dados da

(39)

Weka em Ação (1/18)

PASSO 1: antes de começar o processo, precisamos gerar uma versão ARFF da base que iremos minerar.

(40)

Weka em Ação (2/18)

(41)

Weka em Ação (3/18)

(42)

Weka em Ação (4/18)

(43)
(44)

Weka em Ação (6/18)

(45)
(46)

Weka em Ação (8/18)

(47)

Weka em Ação (9/18)

(48)

Weka em Ação (10/18)

(49)

Weka em Ação (11/18)

PASSO 5: Escolha do algoritmo de classificação

• Dentre as técnicas que podem ser utilizadas, encontram-se: • Naïve Bayes

• Árvores de Decisão (nossa escolha nessa apresentação!)

• Redes Neurais

• k-Nearest Neighbor

(50)

Weka em Ação (12/18)

(51)

Weka em Ação (13/18)

PASSO 5: Escolha do algoritmo de classificação.

(52)

Weka em Ação (14/18)

(53)

Weka em Ação (15/18)

(54)

Weka em Ação (16/18)

PASSO 7: A qualidade da árvore pode ser avaliada através do uso de

diferentes métricas.

Correctly Classsified Instances: porcentagem de registros classificados corretamente durante a construção do modelo de classificação.

Incorrectly Classsified Instances: porcentagem de registros classificados incorretamente durante a construção do modelo de classificação.

(55)

Weka em Ação (17/18)

PASSO 7: A qualidade da árvore pode ser avaliada através do uso de diferentes métricas.

Confusion Matrix (matriz de confusão): é simplesmente uma matriz quadrada que indica as classificações corretas e errada.

• A classe que está sendo analisada aparece na linha. As classificações encontradas aparecem nas colunas.

(56)

Weka em Ação (18/18)

(57)

Conclusões e Comentários Finais

• Na prática, o processo de classificação é mais trabalhoso e complexo.

(58)

Conclusões e Comentários Finais

Sobre a Weka...

Embora seja normalmente utilizada para fins didáticos,

possibilita a mineração de bases reais

(contanto que

possam ser importadas para a memória RAM).

Muitos papers científicos relatam experiências onde a ferramenta foi aplicada de forma bem sucedida sobre bases de diferentes domínios.

A ferramenta está disponível para Linux, Windows e outras

plataformas, podendo ser obtida juntamente com seu código

fonte em:

http://www.cs.waikato.ac.nz/ml/weka/

(59)

Conclusões e Comentários Finais

Sobre a Weka...

Mostramos apenas um exemplo, usando um algoritmo!

A Weka tem dezenas de algoritmos implementados!

E pode minerar regras de associação e clusters de dados,

além de classificadores.

Outra coisa muito boa é que você pode integrar os algoritmos

implementados na Weka nos programas Java criados por você.

(60)

Referências

[Bak09] S. Baker. Numerati. Ed. ARX (2009).

[BL97] M. J. A. Berry e G. Linoff. Data Mining Techniques for Marketing, Sales and Customer

Support. Wiley Computer Publishing, 1997.

[FPS96] U. M. Fayyad, G. Piatetsky-Shapiro e P. Smith. “From Data Mining to Knowledge Discovery: An Overview”. Advances in Knowledge Discovery and Data Mining, AAAI/MIT Press, 1996, p. 1–34.

[HK06] J. Han e M. Kamber. Data Mining: Concepts and Techniques. 2a Edição, Morgan Kaufmann, 2006.

[San05] R. Santos. “Weka na Munheca: um Guia para Uso do Weka em Scripts e Integração com Aplicações Java”. Instituto Nacional de Pesquisas Espaciais (INPE), 2005.

[San10] R. Santos. “Princípios e Aplicações de Mineração de Dados”. Notas de aula, Instituto Nacional de Pesquisas Espaciais (INPE), 2010.

[TSK06] P. Tan, M. Steinbach e V. Kumar. Introdução Ao Data Mining - Mineração de Dados. Ed. Ciência Moderna, 2009 (ed. original em Inglês publicada em 2006).

[WFH11] I. H. Witten, E. Frank, M. A. Hall. Data Mining: Practical Machine Learning Tools and

Referências

Documentos relacionados

Desse modo, tendo em vista que as tarefas de Classificação, Regressão e Agrupamento são por padrão aplicadas sobre registros (objetos) e a tarefa de

O trabalho constituiu-se na geração de regras de classificação obtidas a partir de modelos preditivos, desenvolvidos por meio de ténicas de mineração de dados para a classificação

Desta forma, o presente trabalho busca colaborar com essa tarefa apresentando uma ferramenta que é capaz de se conectar ao servidor do WhatsApp e baixar todas as mensagens trocadas

A segunda motivação tem relação com a interpretabilidade dos classificadores. Gerar regras de classificação para problemas hierárquicos não é uma tarefa trivial, já que uma

Enquanto tarefa de Descoberta de Regras de Associação encontra relacionamentos frequentes e confiáveis nas bases de dados e originalmente é restrita à manipulação de

Este artigo apresentou o algoritmo FP-Growth, que utiliza uma abordagem diferente para resolver o problema da descoberta de regras de associação, sem para isso

- Todas essas ferramentas apresentam boa interface gráfica, têm licença proprietária, podem ser empregadas em problemas de Classificação e de Regressão, possuem

Desse modo, tendo em vista que as tarefas de Classificação, Regressão e Agrupamento são por padrão aplicadas sobre registros (objetos) e a tarefa de