Mineração de dados: Por que ? O que é ?
O processo de descoberta de conhecimento
Tarefas de mineração: preditivas, descritivas
Ponto de vista comercial
◦
Quantidades gigantescas de dados são coletados
e armazenados em empresas, corporações, etc
Dados de comércio eletrônico,
Dados de navegação na internet
Dados de compras de clientes em grandes lojas
de departamentos, supermercados,
Dados de transações bancárias, ou de cartão de
crédito
Ponto de Vista Cientifico: Medicina,
Biologia, Engenharia
Dados coletados e armazenadosa
velocidades enormes (GB/hora)
◦
Sensores remotos em satélites
◦
Telescópios
◦
Microarrays gerando dados de expressões de
genes
◦
Simulações científicas gerando terabytes de
dados.
Técnicas tradicionais não apropriadas para
analisar tais dados:
Frequentemente existe informação
“escondida” nos dados que não é evidente
de ser encontrada utilizando linguagens de
consultas tradicionais.
Analistas humanos podem levar semanas
para correlacionar e descobrir alguma
informação útil dentro de uma grande
massa de dados.
Boa parte dos dados nunca é analisado:
Técnicas de Mineração podem ajudar
analistas:
◦
Entender e prever as necessidades dos clientes
◦
Descobrir fraudes
◦
Descobrir perfis de comportamento de clientes
Técnicas de Mineração podem ajudar
cientistas:
◦
Classificar e segmentar dados
Não
◦
Fazer uma consulta
no Google sobre
“Data Mining ”
◦
Procurar um nome
numa lista telefônica
◦
Fazer uma consulta
SQL a um banco de
dados.
Sim
◦
Agrupar documentos
similares retornados
pelo Google de
acordo com seu
contexto.
◦
Descobrir se certos
nomes aparecem
com mais frequência
em determinadas
regiões da cidade
(periferia, centro,
Qual o perfil do cliente que consome mais ?
Que produtos são comprados
conjuntamente ? E em sequência ?
Meu site web tem uma boa estrutura ?
Como as chuvas, variação de temperatura,
aplicação de pesticidas afetam as colheitas
?
Existe uma relação entre o aquecimento
global e a frequência e intensidade das
perturbações no ecossistema tais como
secas, furacões, enchentes ?
Parte do processo de descoberta de
conhecimentos em bancos de dados
(
Knowledge Discovery in Databases, KDD
).
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”.
O conhecimento descoberto através de
processos de mineração de dados é
considerado interessante quando apresenta
certas propriedades:
◦ Validade ◦ Inesperabilidade ◦ Interpretabilidade ◦ Novidade ◦ Utilidade
Estas propriedades serão explicadas no
Exemplo muito conhecido.
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
Quando foi minerada, a regra apresentou
todas as propriedades capazes de
caracterizá-la como interessante para os
analistas da loja de departamentos.
Por que a regra foi considerada tão
Representava uma informação
nova
.
◦
Não era conhecida pelos analistas da empresa.
Foi uma 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.
A regra é
interpretável
.
◦ Pode 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.
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.
Vestibular PUC-RJ
◦
Depois de examinar milhares de alunos forneceu
a seguinte regra: se o candidato é do sexo
feminino, trabalha e teve aprovação com boas
notas, então não efetiva matrícula.
Vestibular PUC-RJ
◦ Reflexão justifica a regra oferecida pelo programa:
de acordo com os costumes do Rio de Janeiro, uma
mulher em idade de vestibular, se trabalha é porque precisa, e neste caso deve ter feito inscrição para ingressar na universidade pública gratuita.
Se teve boas notas provavelmente foi aprovada na
universidade pública onde efetivará matrícula.
Claro que há exceções: pessoas que moram em frente à
PUC, pessoas mais velhas, de alto poder aquisitivo e que voltaram a estudar por outras razões que ter uma
profissão, etc. Mas a grande maioria obedece à regra anunciada!
KDD: Processo geral de descoberta de
conhecimentos úteis previamente
desconhecidos a partir de grandes bancos de
dados
Limpeza dos Dados
Integração dos Dados
Seleção
Transformação
Mineração
Avaliação ou Pós-Processamento
Visualização dos Resultados
02/05/2017 Mestrado em Ciencia da Computacao 2008 20
Mineração:
Etapa central
do processo de
Descoberta de
Conhecimento
Limpeza
Integração dos Dados Banco de Dados Data Warehouse Dados Relevantes Seleção Mineração Análise do Resultado
A tarefa consiste na especificação
do que
estamos querendo buscar nos dados.
◦ Tipo de regularidade ou categoria de padrões requeremos encontrar
◦ Tipos de padrões poderiam nos surpreender
Ex: gasto exagerado de um cliente de cartão de
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.
◦ Regras de Associação
◦ Análise de Sequências
◦ Classificação
Objetivo:
◦
descobrir combinações de itens ou valores de
atributos que ocorrem com frequência
significativa em uma base de dados.
◦
Descoberta de elementos que ocorrem (ou não!)
em comum em coleções de dados.
◦
Dados de entrada: estruturas com associações
(ex. lista de artigos comprados, pequenas séries
temporais multivariadas, etc.).
◦
Algoritmo identifica a existência de elementos
em comum e suporte para esta existência.
Exemplo - Mineração do BD de um
supermercado:
◦ “50% das compras que contêm fraldas, também contêm cerveja.
◦ 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”.
◦ Representação :
PRODUTO A PRODUTO A PRODUTO B Oferta de produto relacionado Compra de produto
Gerência de inventário:
◦
Objetivo: uma empresa de consertos de
eletrodomésticos quer antecipar a natureza dos
consertos nos aparelhos dos seus clientes de
forma a ter em seus veículos de serviço peças de
reposição, de modo a poder realizar o conserto
na hora, sem precisar voltar à casa dos clientes
◦
Abordagem: Analisar os dados de consertos
anteriores em termos de ferramentas e peças
necessárias para descobrir padrões de
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.
◦ Mineração de uso da Web (análise de sequência de cliques).
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
Como entrada, temos muitos dados para os quais as
classes são conhecidas.
◦ Com isso criamos um classificador ou modelo (fase de treinamento).
Como entrada em uma segunda fase, temos vários
dados para os quais as classes não são conhecidas.
◦ Usamos o classificador para indicar classes para estes dados.
Assumimos que dados desconhecidos “próximos” de
dados conhecidos terão a mesma classe dos dados conhecidos.
O processo pode ser avaliado se usarmos dados com
classes conhecidas, fizermos a sua classificação e compararmos os resultados previstos com obtidos.
Mineração do BD de uma seguradora:
◦ 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
Outros exemplos de tarefas de
classificação
◦
classificar pedidos de créditos como de
baixo, médio e alto risco; esclarecer
◦
pedidos de seguros fraudulentos;
◦
identificar a forma de tratamento na qual
um paciente está mais propício a
responder, baseando-se em classes de
pacientes que respondem bem a
Marketing direto
◦ Objetivo: Reduzir o custo na oferta para um conjunto alvo de consumidores mais prováveis de comprar um novo produto.
◦ Abordagem:
Usar os dados de um produto similar oferecido
anteriormente.
Sabemos quais consumidores compraram e quais não
compraram. Esta decisão {compra, não compra} forma o
atributo classe.
Coletar várias informações pessoais, de estilo de vida e de
interações com a empresa de todos estes clientes.
Tipo de atividade, local da moradia, rendimentos, estado civil,
compras anteriores, etc.
Usar esta informação como atributos de entrada para
gerar um modelo de classificação.
Conservação de clientes:
◦
Objetivo: prever se é provável que um cliente de
uma empresa de telefone celular passe para um
concorrente.
◦
Abordagem:
Usar um registro detalhado das transações de cada
cliente antigo e atual para obter os atributos.
Com que freqüência o cliente faz ligações, para quem ele liga,
a que horas ele liga mais freqüentemente, sua renda, estado civil, desde quando é cliente, etc.
Rotular os clientes como fiéis ou infiéis a empresa. Gerar um modelo.
Objetivo: dividir automaticamente um
conjunto de objetos em grupos (
clusters
) de
acordo com algum de tipo de relacionamento
de similaridade existente.
Exemplo:
◦ se você tivesse que dividir em dois grupos de acordo com a similaridade, como você faria?
Algumas possibilidades
Outras soluções: crianças e adultos, gordos e
magros, fumantes e não-fumantes, …
(
clustering
é difícil e subjetivo!!!)
Segmentação de mercado:
◦
Objetivo: subdividir um mercado em diferentes
subconjuntos de clientes onde cada subconjunto
possa ser selecionado como objetivo específico
de marketing a ser alcançado.
◦
Abordagem:
Obter diferentes atributos de clientes baseado em
informações cadatrais e de estilo de vida dos clientes
Encontrar grupos (clusters) de clientes similares.
Medir a qualidade dos clusters observando padrões de
compra entre clientes do mesmo cluster versus entre clientes de outros clusters
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 Naive Bayes, Árvoes de Decisão
(ID3, C4.5, CART, CHAID), Redes Neurais, k-Nearest Neighbor, Support Vector Machines
Análise de Agrupamentos K-Médias, K-Medoides, Métodos Hierárquicos
Weka é um Software livre
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.
Duas formas principais:
◦ Interface Gráfica: o ambiente Weka Explorer permite a execução dos algoritmos de
data mining
da Weka de forma interativa.◦ Console: fazendo a chamada aos algoritmos no
O formato ARFF é
utilizado como padrão
para estruturar as
bases de dados
manipuladas pela
Weka.
Cabeçalho
Relação ou tarefa que esta sendo
As declarações dos
atributos são feitas através de uma sequência de
linhas @attribute.
A ordem da declaração indica a posição de cada atributo na seção DATA. A Weka suporta atributos numéricos e categóricos. Atributos numéricos: deve ser indicados através das palavras numeric ou real. Atributos categóricos:
fornecidos como uma lista, indicando todos os valores do atributo.
A base de dados
propriamente dita deve ser colocada logo abaixo do parâmetro @data.
Consiste na lista de todas as instâncias com os valores dos atributos para cada instância separados por vírgulas. Cada instância é representada em um única linha.
Os atributos devem aparecer na ordem em que são
declarados no cabeçalho.
O último atributo é o atributo classe e os demais como
Fórum Software Livre
http://forumsoftwarelivre.com.br/2011/arquivos/pal
estras/DataMining__Weka.pdf visitado em
09/05/2015
Sandro Amo. Curso de Data Mining. Notas de aula.
http://www.deamo.prof.ufu.br/CursoDM.html visitado em 09/05/2015
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.
R. Santos. “Princípios e Aplicações de Mineração de
Dados”.