UMA VISÃO GERAL DAS PRINCIPAIS TAREFAS DE MINERAÇÃO DE DADOS
Tauller Augusto de Araújo Matos1
Resumo: Este trabalho tem como objetivo conceituar e diferenciar as principais
tarefas de mineração de dados, a saber: associação, seqüência, classificação,
agrupamento (cluster) e desvio (outlier). Para este fim é utilizado exemplos em uma
grande rede de departamentos.
Palavra-Chave: Associação. Seqüência. Classificação. Cluster. Outlier.
Abstract: This paper aims to conceptualize and distinguish the main tasks of data
mining: namely: association, sequence, classification, cluster and outlier. For this
purpose we used examples of a large network of departments.
Key-Words: Association. Sequence. Classification. Clustering. Outlier.
1 Introdução
Sistemas gerenciadores de banco de dados estão presentes na maioria das
organizações públicas e empresas de pequeno, médio e grande porte. Estas contem
os mais diferentes dados sobre produtos, fornecedores, clientes, empregados.
Do ponto de vista comercial, quantidades gigantescas de dados são
diariamente coletadas e armazenadas por empresas e corporações. Dados
referentes a compras de clientes em lojas de departamento e redes de
supermercados, navegação na internet, comércio eletrônico, transações bancárias
ou de cartões de crédito. As empresas utilizam os dados para obterem
conhecimento sobre seus clientes, a fim de ganhar vantagem e aumentar sua
eficiência nesse mundo cada vez mais competitivo e fornecer valiosos serviços aos
seus clientes.
Em relação ao ponto de vista científico, dados são coletados e armazenados
a velocidades enormes. Sensores remotos em satélites, telescópios, microarrays
geram dados de expressões de genes. Por exemplo, na área da astronomia,
realiza-se análise de imagens, classificação e catalogação de objetos no céu. Na
1
Professor da Fundação Educacional Dom André Arcoverde
área da saúde, pode-se citar a análise da eficácia de certos tratamentos e a análise
de efeitos colaterais de drogas.
Todo esse considerável conjunto de dados contém uma preciosa quantidade
de informação, no entanto, sua análise por meio de métodos manuais que utiliza
linguagens de consultas tradicionais é inviável. Analistas humanos podem levar
semanas para correlacionar e descobrir alguma informação útil dentro de uma
grande massa de dados.
Quando a escala da manipulação de dados, exploração e inferência
desenvolvem-se além das capacidades humanas, faz-se necessário a criação de
uma nova geração de teorias computacionais. Surge então, a necessidade de
desenvolver ferramentas, que auxiliem o homem na análise e interpretação dessa
grande quantidade de dados para extrair conhecimento útil dentro do contexto da
aplicação no processo de tomada de decisão.
Uma técnica muito utilizada para a descoberta de conhecimento é a
Mineração de Dados (Data Mining). Atualmente, encontram-se comercialmente
disponíveis diversas ferramentas de mineração de dados que auxiliam cientistas a
classificar e segmentar dados, formular hipóteses, realizar diagnósticos. Ajudam
analistas a entender e prever necessidades e interesses dos clientes, descobrirem
perfis de comportamento, detecção de fraudes, aprovação de crédito e de apólice.
A mineração de dados pode ser aplicada a várias áreas e tipos de dados.
Portanto, existem diversas tarefas (técnicas) para minerar estes dados que são
divididas em heurísticas e estatísticas. Desta forma, torna-se necessário o pré
conhecimento destas tarefas de mineração.
Este trabalho tem como objetivo apresentar e diferenciar as 5 (cinco)
principais tarefas de mineração, a saber: associação, seqüência, classificação,
cluster e outlier, por meio de exemplos, em uma grande loja de departamentos.
Desta forma, este artigo esta organizado da seguinte forma além desta
introdução. Na Seção 2 conceitua-se Mineração de dados enquanto que na Seção 3
são apresentadas as tarefas de mineração de dados e por fim é feita uma conclusão
e perspectivas futuras na Seção 4.
2
2. Mineração de dados
A área denominada Descoberta de Conhecimento em Bases de Dados ou
Knowledge Discovery in Databases (KDD) refere-se ao processo completo de
descoberta de conhecimento em dados e envolve diversas fases. A Figura 1
apresenta uma visão hierárquica do processo de KDD.
O termo KDD foi formalizado em 1989 em referência ao amplo conceito de
procurar conhecimento a partir de bases de dados. Uma das definições
mais populares foi proposta em 1996 por um grupo de pesquisadores
(Fayyad et al., 1996a). KDD é um processo, de várias etapas, não-trivial,
interativo e iterativo, para identificação de padrões compreensíveis, válidos,
novos, potencialmente úteis a partir de grandes conjuntos de dados.
(GOLDSCHMIDT, 2005, p. 3).
Figura 1 - Visão hierárquica do processo de KDD (GOLDSCHMIDT, 2005)
A mineração de dados é considerada a principal etapa do processo de KDD e
o núcleo central do processo de prospecção de conhecimento, sendo composto
pelos métodos de mineração de dados responsáveis pela extração de conhecimento
explícito e potencialmente útil dos dados.
Esse conhecimento deve ser correto, compreensível por usuários humanos e
ser novo. Um conhecimento realmente útil é aquele que pode ser aplicado de forma
a proporcionar benefícios reais ao contexto da aplicação.
Para que se possa realizar o processo de KDD, torna-se necessária algumas
fases como pré-processamento (limpeza, seleção e codificação) entre outras
conforme ilustra a Figura 1. Estas fases não são foco deste artigo, caso o leitor
interesse por este assunto deve-se ver em (GOLDSCHMIDT, 2005).
Quando se fala de mineração de dados não se considera apenas consultas
complexas elaboradas que visam ratificar uma hipótese gerada por um usuário em
função dos relacionamentos existentes entre os dados, e sim a descoberta de novos
fatos, regularidades, restrições, padrões e relacionamentos.
3
Minerar dados não é realizar uma consulta em algum site de busca na internet
sobre “Data mining”, nem mesmo procurar um nome em uma lista telefônica, estes
casos são exemplos de recuperação de informação, ver em (MANNING, 2007).
Realizar uma consulta em linguagem estruturada, Structured Query Language
(SQL), ver em (DATE, 2000), a um banco de dados, também não é um exemplo de
mineração de dados.
Mineração de dados é agrupar documentos similares retornados por um
sistema de busca de acordo com seu contexto e é descobrir se certos nomes
aparecem com mais freqüência em determinadas regiões da cidade.
Com isto, “Data mining refere-se à garimpagem ou descoberta de novas
informações em termos de padrões ou regras oriundas de grandes quantidades de
dados.” (ELMASRI, 2005, p. 624).
Já Date descreve mineração de dados como:
A mineração de dados pode ser descrita como ‘análise de dados
exploratória’. O objetivo é procurar padrões interessantes nos dados,
padrões que possam ser usados para definir a estratégia do negócio ou
para identificar um comportamento pouco usual. (DATE, 2000, p.621).
É nesta etapa onde são aplicados as técnicas e os algoritmos a serem
utilizados no problema em questão de forma a extrair modelos de dados. A escolha
da técnica a ser utilizada no processo de mineração de dados, depende
exclusivamente do tipo de tarefa de KDD a ser efetivamente realizada.
Em geral, as técnicas de mineração de dados desempenham as seguintes
tarefas: descoberta de associação, descoberta de sequências, classificação,
clusterização e outlier.
Uma vez escolhido o algoritmo a ser utilizado na aplicação do processo,
deve-se executá-lo e adaptá-lo ao problema proposto. Estas técnicas de mineração
de dados são descritas na Seção 3.
3 Tarefas de Mineração
A técnica de mineração utilizada no processo de KDD está ligada a forma com
que os dados foram pré-processados. Determinados algoritmos possuem restrições
quanto aos tipos de variáveis envolvidas no problema. O uso de algoritmos
4
diferentes para executar a mesma técnica, também pode produzir diferentes
resultados.
A escolha da técnica a ser utilizada no processo de mineração de dados,
depende exclusivamente do tipo de tarefa de KDD a ser efetivamente realizada. O
que torna necessário distinguir o que é uma tarefa e o que é uma técnica de
mineração.
A tarefa consiste na especificação do que se busca nos dados, que tipo de
regularidades ou categoria de padrões pode ser interessante encontrar.
A técnica de mineração consiste na especificação de métodos que garantam
como descobrir os padrões que são interessantes.
Neste capítulo são apresentadas as principais tarefas e técnicas de
mineração de dados.
3.1 Descoberta de associação
As regras de associação representam padrões onde a ocorrência de eventos
em um conjunto é alta. Devido a sua grande aplicabilidade esse tipo de técnica é
muito utilizada/solicitada pela equipe de marketing das empresas.
Suponha que o gerente de uma grande loja de departamentos esteja
interessado em conhecer os hábitos de compra de seus clientes, por exemplo,
“quais os produtos que os clientes costumam comprar ao mesmo tempo, a cada vez
que vêm à loja”. Conhecer a resposta para esta questão pode ser útil: pode-se
planejar melhor os catálogos da loja, os folhetos de promoções de produtos, as
campanhas de publicidade, além de organizar melhor a localização dos produtos
nas prateleiras da loja ao colocá-los próximos os itens frequentemente comprados
juntos a fim de encorajar os clientes a comprar tais produtos conjuntamente. Para
isto, você dispõe de uma mina de dados, que é o banco de dados de transações
efetuadas pelos clientes. A cada compra de um cliente, são registrados neste banco
todos os itens comprados, como mostra a Tabela 1. Para melhorar o processamento
dos algoritmos de associação, na fase de pré processamento, são associados
números a cada artigo da loja como ilustrado na Tabela 2 para facilitar a
representação dos mesmos e atender as especificações dos algoritmos.
5
Tabela 1 - Banco de dados com transações de clientes
Fonte: Autor
TID (Identificador da transação)
101
102
103
104
105
106
Itens comprados
{1, 3, 5}
{2, 1, 3, 7, 5}
{4, 9, 2, 1}
{5, 2, 1, 3, 9}
{1, 8, 6, 4, 3, 5}
{9, 2, 8}
Tabela 2 - Representação numérica de cada registro da loja
Fonte: Autor
Artigo (item)
Notebook
Mouse
Headset
Mochila para Notebook
Pen drives
Caixa de som
Switches
Memória
Hard Disk
Microfone
Número que o representa
1
2
3
4
5
6
7
8
9
10
Repare que o que identifica uma transação é o identificador da transação
(TID) e não o identificador do cliente. Assim, um mesmo cliente é contado várias
vezes a cada vez que realiza uma compra na loja. É importante lembrar que o que
interessa é a transação (a compra), e não o cliente. Na descoberta de associação, o
cliente é irrelevante, pois o que interessa na identificação dos padrões são as
ocorrências dos produtos comprados e não quem os comprou.
Cada conjunto de itens comprados pelo cliente em uma única transação é
chamado Itemset.
Um itemset com k elementos é chamado de k-itemset. Suponha que o
gerente decida que um itemset que apareça em pelo menos 50% de todas as
compras registradas seja considerado frequente. Por exemplo, se o banco de dados
de que você dispõe é o ilustrado na Tabela 1, então o itemset {1, 3} é considerado
frequente, pois aparece em mais de 60% das transações. Porém, se você for muito
exigente e decidir que o mínimo para ser considerado frequente é aparecer em pelo
menos 70% das transações, então o itemset {1, 3} não é considerado freqüente.
6
“Formalmente, uma regra de associação é uma implicação da forma X → Y,
onde X e Y são conjuntos de itens tais que X
Y = . Convém destacar que
a interseção vazia entre antecedente e conseqüente da regras assegura
que não sejam extraídas regras óbvias que indiquem que um item está
associado a ele próprio.” (GOLDSCHMIDT, 2005, p. 61).
A toda regra de associação X → Y associa-se um grau de confiança,
denotado por conf (X → Y). Esse grau de confiança é simplesmente a porcentagem
das transações que suportam Y dentre todas as transações que suportam X, a
confiança é definida pela Fórmula 3.1.
(3.1)
Por exemplo, de acordo com a Fórmula 3.1, o grau de confiança da regra {switches}
→ {pen drivers}, isto é, {7} → {5}, com relação ao banco de dados da Tabela 1 é 1
(100%).
Será que o fato de certa regra de associação ter um grau de confiança
relativamente alto é suficiente para considerá-la como sendo uma boa regra?
Repare que no banco de dados da Tabela 1, os itens switches, pen drivers aparecem
juntos somente em uma transação entre seis, isto é, poucos clientes compram estes
dois itens juntos. Entretanto, não se pode avaliar uma regra de associação somente
pelo seu grau de confiança, pois como apresentado no exemplo, apesar da regra
{switches} → {pen drivers} ter tido um grau de confiança de 100%, ela é suportada
em poucas transações. A fim de garantir que uma regra XY seja boa ou
interessante, torna-se necessário exigir que seu suporte também seja relativamente
alto, além de seu grau de confiança.
A toda regra de associação X → Y associa-se um suporte, denotado por
sup(X → Y) definido como sendo o suporte do itemset X
Y dividido pelo número de
transações (Fórmula 3.2). Por exemplo, o suporte da regra {switches} → {pen
drivers} com relação ao banco de dados da Tabela 1 é 0,1666%.
7
(3.2)
A Tabela 3 contabiliza os suportes de diversos itemsets com relação ao banco
de dados de transações da Tabela 1.
Tabela 3 Suporte de alguns itemsets referente à Tabela 1
Fonte: Autor
Itemset
{1, 3}
{2, 3}
{1, 2, 7}
{2, 9}
Suporte
0,6666
0,3333
0,1666
0,5
Assim sendo em cada aplicação são estabelecidos valores mínimos para o
suporte e a confiança, sendo que para o suporte o algoritmo descarta os itemsets
com valores menores que o mínimo estabelecido e para a confiança descarta as
regras com valor de confiança abaixo da mínima.
Dentre os métodos de associação têm-se os algoritmos: o mais clássico é o
algoritmo Apriori (AGRAWAL e SRIKANT, 1994). Outros algoritmos são: Apriori TID
(SRIKANT e AGRAWALl, 1997) e Direct (SAVASERE et al., 1995).
3.2 Descoberta de Seqüência
Esta técnica permite detectar padrões sequenciais entre as transações
registradas no bando de dados com certas relações temporais.
“A descoberta de padrões sequenciais baseia-se no conceito de uma
sequência de conjuntos de itens.” (ELMASRI, 2005, p. 635).
Suponha que o gerente de uma grande loja de departamentos esteja
interessado em conhecer a evolução das compras de seus clientes, por exemplo,
“Que sequência de produtos são comprados por um mesmo cliente em momentos
consecutivos?”, Se for possível descobrir uma sequência de produtos <P1; P2; P3>,
onde P seja qualquer produto da loja, que sejam comprados nesta ordem
frequentemente pelos clientes, torna-se útil enviar folhetos promocionais que
envolvem os produtos P2 ou P3 para aqueles clientes que compram o produto P1.
Como descoberto os clientes têm grandes chances de comprar os produtos P2 e P3
8
no futuro e, portanto os recursos gastos em uma campanha de marketing
(campanha dirigida a clientes potencialmente dispostos a comprar P2 e P3) tem-se
grandes chances de não estarem sendo despendidos em vão.
Ao contrário da técnica de associação, apresentada na seção 3.1, para a
descoberta de sequências é necessário um banco de dados de transações com a
identificação dos clientes que realizaram a compra e a data de cada transação. O
que interessa na descoberta de sequências é identificar o que cada cliente compra
em uma determinada sequência, conforme Tabela 4.
Uma sequência ou padrão sequencial de tamanho k, onde k é o número de
itensets da sequência, é uma coleção ordenada de itemsets <P1; P2; ... ; Pn>.
Por exemplo, seja S um padrão sequencial de tamanho k = 3, representada
pelos seguintes produtos, S = <{Notebook, Switch}, {Caixa de som}, {Placa mãe}>.
Repare que este padrão comportamental se manifesta nos clientes com identificador
2 e 3, conforme Tabela 4. Todos eles compram num primeiro momento, não
importando quando, Notebook e Switch (conjuntamente), num segundo momento
compram um Caixa de som e tempos depois compram uma Placa mãe. Suponha
que o gerente decida que um padrão sequencial que se manifeste em pelo menos
50% dos clientes registrados seja considerado frequente. Neste caso, o padrão S
acima é considerado frequente. Caso o gerente seja um pouco mais exigente e
decida que o mínimo para ser considerado frequente é que pelo menos 70% dos
clientes manifestem tal comportamento então o padrão S acima não é considerado
frequente.
Para minerar sequências, antes de qualquer coisa é necessário adequar o
banco de dados e eliminar as informações não úteis. Seguindo o exemplo da loja de
suprimentos representado pelas transações da Tabela 4, não é necessária a data em
que os clientes realizam a compra, e sim, a ordem em que foram comprados. Dessa
forma, é eliminada a coluna data e incluída a coluna de sequencia de itemsets, que
representa a ordem em que os produtos são comprados por cada cliente conforme
Tabela 5.
Como definido anteriormente, torna-se necessário a codificação dos dados, a serem
minerados. Assim, são associados números a cada produto da loja o que resulta o
banco de dados de sequencias de clientes da Tabela 6.
Tabela 4 - Banco de dados de transações de Clientes
9
Fonte: Autor
Identificador do Cliente
1
2
1
3
2
3
1
4
4
2
3
4
Itemsets
{Notebook, Mochila para notebook}
{Mouse, Switch, Notebook}
{Mouse, DVD-RW}
{Notebook, Switch, Joystick}
{DVD-RW, Caixa de som}
{Caixa de som, Hard Disk}
{Headset, Monitor}
{Placa de vídeo, Processador}
{Estabilizador}
{Placa mãe, Memória}
{Placa mãe, Fonte de alimentação}
{Notebook, Caixa de som}
Data
10/02/2009
01/03/2009
03/03/2009
04/03/2009
05/03/2009
07/03/2009
10/04/2009
14/04/2009
21/04/2009
23/04/2009
28/04/2009
30/04/2009
Tabela 5 - Banco de dados de sequências de Clientes
Fonte: Autor
Identificador do
Sequencias de Itemsets
Cliente
1
<{Notebook, Mochila para notebook}, {Mouse, DVD-RW},
2
{Headset, Monitor}>
<{Mouse, Switch, Notebook}, {DVD-RW, Caixa de som},
3
{Placa mãe, Memória}>
<{Notebook, Switch, Joystick}, {Caixa de som, Hard Disk},
4
{Placa mãe, Fonte de alimentação}>
<{Placa de vídeo, Processador}, {Estabilizador},
{Notebook, Caixa de som}>
Tabela 6 - Representação numérica de sequências de Clientes
Fonte: Autor
Identificador do
Sequências de Itemsets codificadas
Cliente
1
2
3
4
<{1, 2}, {12, 11}, {16, 3}>
<{12, 4, 1}, {11, 6}, {5, 7}>
<{1, 4, 13}, {6, 15}, {5, 14}>
<{9, 10}, {8}, {1, 6}>
As sequências que fazem parte do banco de dados são chamadas de
sequências do cliente, as sequências que são possíveis padrões que podem
aparecer nos dados são chamadas de padrão seqüencial.
10
A sequência padrão é dita freqüente se o seu suporte for maior ou igual ao
suporte mínimo definido pelo especialista no domínio da aplicação. O suporte de um
padrão sequencial em relação a um banco de dados de sequências de cliente é
definido pela Fórmula 3.2.
Dentre os métodos de descoberta de sequência têm-se os algoritmos:
Generalized Seqüencial Pattern (GSP) (AGRAWAL e SRIKANT, 1995), Prefix Span
(PEI, et al., 2001) e Algoritmos SPIRIT (GAROFALAKIS et al., 1999).
3.3 Classificação
“É o processo de aprendizagem de uma função que mapeia (classifica) um
dado objeto de interesse em uma das possíveis classes.” (ELMASRI, 2005, p. 634).
É uma atividade preditiva que consiste na busca por padrões que classifiquem
elementos rotulados. É necessário definir previamente as classes, já que o atributo
classe é fundamental na tarefa de classificação.
“Pode ser compreendida como a busca por uma função que permita associar
corretamente cada registro Xi de um bando de dados a um único rótulo categórico,
Yi, denominado classe.” (GOLDSCHMIDT, 2005, p. 66).
Na definição acima, Xi representa qualquer registro do conjunto de dados e Y i
qualquer rótulo do conjunto de classes. Nos casos em que ocorrer a inferência de
um registro do conjunto de dados em um rótulo do conjunto de classes, essa
inferência é denominada classificação.
O propósito da tarefa de classificação é descobrir algum tipo de
relacionamento entre os atributos preditivos (tuplas do conjunto de dados) e o
atributo objetivo (Classes) que permita encontrar um conhecimento que pode ser
aplicado a novos registros de forma a prever a classe em que tais registros se
encaixam.
Suponha que o gerente de uma grande loja de departamentos disponha de
um banco de dados de clientes, que contem informações tais como nome, idade,
renda mensal, profissão e se comprou ou não produtos eletrônicos na loja.
Deseja-se enviar um material de propaganda pelo correio aos clientes, que descreve
novos produtos eletrônicos e preços promocionais de alguns destes produtos. Para
não fazer despesas inúteis torna-se interessante enviar este material publicitário
apenas aos clientes que sejam potenciais compradores de produtos eletrônicos.
Outro ponto importante: a partir do banco de dados de clientes é desenvolvido um
11
método para permitir quais atributos de um cliente o torna um potencial comprador
de produtos eletrônicos. Identificado o método aplicá-lo no futuro para os novos
clientes. Isto é, a partir do banco de dados atual, descobrem-se regras que
classificam os clientes em duas classes: os que compram produtos eletrônicos e os
que não compram. Que tipos de atributos de clientes (idade, renda mensal,
profissão) influenciam na colocação de um cliente numa ou noutra classe?
Uma vez definida estas regras de classificação de clientes, estas são
utilizadas no futuro para classificar novos clientes. Por exemplo, regras que podem
ser descobertas:
- Se idade está entre 30 e 40 e a renda mensal é “Alta” então ClasseProdEletr
= “Sim”.
- Se idade está entre 60 e 70 então ClasseProdEletr = “Não”.
Quando um novo cliente João, com idade de 25 anos e renda mensal “Alta” e
que tenha comprado discos, é catalogado no banco de dados, o classificador diz que
este cliente é um potencial comprador de aparelhos eletrônicos. Este cliente é
colocado na classe ClasseProdEletr = “Sim”, mesmo que ele ainda não tenha
comprado nenhum produto eletrônico.
Dentre os métodos de classificação têm-se os algoritmos: árvores de decisão
(IAN e EIBE, 2000), Back-Propagation – redes neurais (LU et al., 1995) e
Classificadores Bayesianos (DOMINGOS e PAZZANI, 1996).
3.4 Clusterização/Agrupamento
“O objetivo do agrupamento é colocar os registros em grupos, de tal forma
que os registros de um grupo sejam similares aos demais do mesmo grupo e
diferentes daqueles dos demais grupos.” (ELMASRI, 2005, p.637).
A tarefa de clusterização tem como objetivo o particionamento dos registros
do banco de dados em subconjuntos ou clusters. Um cluster é uma coleção de
objetos que são similares uns aos outros, ou seja, cada cluster é definido por um
grupo, sendo que este grupo contem tuplas onde os valores de seus atributos são
semelhantes.
12
Análise de clusters é uma tarefa de aprendizado não supervisionado, pelo fato
de que os clusters representam classes que não estão definidas no início do
processo de aprendizado, sendo assim uma tarefa de aprendizado por observação.
Suponha que o gerente de uma grande loja de departamentos disponha de
um banco de dados de clientes, que contem informações tais como o endereço de
seus clientes. A empresa deseja abrir duas filias na cidade. Portanto, utiliza-se algum
dos algortimos de clusterização com objetivo de encontrar grupos de clientes
próximos e, além disto, o centro de gravidade destes grupos. A Figura 2 esboça um
exemplo deste agrupamento.
Figura 2 - Agrupamento por cluster. (fonte: Autor)
Os pontos A1, A2, A3, B1, B2, B3, C1 e C2 são os clientes. Os centros de
gravidades são representados por X e indicam os locais onde devem ser instaladas
as duas novas filiais, pois é o ponto central de cada grupo. Ou seja, o ponto mais
próximo de todos os seus clientes.
Dentro os métodos de classificação têm-se os algoritmos: K-means (NG e
HAN, 1994), CURE (GUHA, et al., 1998), DBSCAN (ESTER, et al., 1996).
3.5 DETECÇÃO DE DESVIOS
A tarefa de detecção de desvios ou também chamada outliers, isto é
exceções, tem como objetivo a identificação de conhecimento inesperado. Pode ser
aplicada em áreas tais como: comércio eletrônico, detecção de fraudes de cartão de
crédito e mesmo análise de desempenho de atletas profissionais nos casos de
13
dopagem, ou seja, tem como objetivo identificar mudanças em padrões
anteriormente percebidos.
Pode-se definir outliers como um fato que desvia tanto de outros fatos a ponto
de gerar suspeitas de que foi gerado por mecanismo diferente dos demais fatos
registrados, outliers se distância dos demais fatos.
“Em geral, são especificados limiares de tolerância, de tal forma que, sempre
que a distância entre o registro em análise e o padrão médio representativo da base
de dados excede um destes limiares, tal registro é considerado um desvio.”
(GOLDSCHMIDT, 2005, p.80).
Os parâmetros utilizados na detecção de desvio, isto é, para se decidir que
um objeto de um banco de dados é um outliers é tarefa do especialista do domínio
da aplicação.
Por exemplo, um objeto D, é dito um desvio se pelo menos uma fração
definida pelo parâmetro p onde 0 < p < 1 dos objetos do banco de dados D estão a
uma distância maior do que o parâmetro d do objeto.
A Figura 3 ilustra um banco de dados D, onde mostra que o objeto circulado
esta a uma distancia maior dos demais objetos desse banco de dados.
Figura 3 - Outlier baseado em distância
Como exemplo na loja de departamentos pode-se ter o comportamento de
pagamento de um determinado cliente. Supõe que o mesmo sempre tem um padrão
de comportamento, que é fazer suas compras parceladas no cartão de crédito. E
excepcionalmente decide fazer uma compra de grande valor e a vista. Pode-se
suspeitar que provavelmente esta tendo um comportamento fraudulento.
Dentre os métodos de detecção de outliers têm-se os algoritmos: Nested
Loop (NL), FindAllOuts que podem ser vistos em (KNORR e NG, 1998)
14
4. Conclusão e perspectivas futuras
Devido ao aumento expressivo dos dados dentro de uma organização
tornou-se inviável sua análise por meio de métodos manuais ou que utiliza
linguagens de consultas tradicionais. Pequenas empresas ainda sabem o que seus
clientes gostam de comprar, mas mesmo assim, podem-se identificar apenas
compras óbvias.
O objetivo da mineração de dados é detectar tendências e comportamentos
raros em bases de dados. Foi mostrado que a mineração de dados pode ser
aplicada a várias áreas e a diversos tipos de dados. Com isto, este trabalho abordou
as principais técnicas de mineração de dados e os algoritmos utilizados para a
busca de padrões no mesmo. As cinco principais tarefas de mineração são:
associação, sequencia, classificação, cluster e outlier. Por meio de um exemplo de
aplicação em uma grande rede de departamentos diferenciou-se cada uma destas
tarefas.
Como sugestão de trabalhos pode-se abordar estudos de casos com cada um
destes algoritmos citados neste trabalho.
Referências Bibliográficas
AGRAWAL, R., SRIKANT, R. Fast Algorithms for Mining Association Rules. Proc.
20th Int. Conf. Very Large Data Bases, VLDB, 1994.
AGRAWAL, R., SRIKANT, R. Mining Sequential Patterns . ICDE 1995, pages 1-14
DATE, C. J. Introdução a Sistemas de Bancos de Dados. Rio de Janeiro:
Campos, 2000.
DOMINGOS, Pedro, PAZZANI, Michael. Beyond Iindependence: Conditions for
the optimality of the simple Bayesian classifier . Proc. International Conference on
Machine Learning, 1996, pages 105-112. Morgan Kaufmann.
ELMASRI, Ramez; NAVATHE, Shamkant. Sistemas de Banco de Dados. 4ª Ed.
São Paulo: Addison-wesley, 2005.
ESTER, M., KRIEGEL H.-P, SANDER J., XU X.: A Density-Based Algorithm for
Discovering Clusters in Large Spatial Databases with Noise. In Proc. 2nd Int.
Conf. on Knowledge Discovery and Data Mining, pp. 226-231, 1996.
GAROFALAKIS, M. RASTOGI R. e SHIM, K. SPIRIT: Sequential Pattern Mining
with Regular Expression Constraints. Proc. VLDB, 223-234. 1999
15
GOLDSCHMIDT, Ronaldo; PASSOS, Emmanuel. Data Mining: um guia prático.
Rio de Janeiro: Elsevier, 2005.
GUHA S., RASTOGI R., SHIM K.: CURE: An Efficient Clustering Algorithm for
Large Databases. ACM/SIGMOD 1998.
IAN H. Witten, EIBE Frank: Data Mining- Practical Machine Learning Tools and
Techniques with Java Implementations - Editora Morgan Kaufman, 2000
KNORR Edwin M., NG Raymond T.: Algorithms for Mining Distance-Based
Outliers in Large Datasets. In Proc. 24th International Conference on Very Large
Databases, VLDB 1998, New York, USA.
LU, H., SETIONO R., LIU H.: Neurorule: A connectionist approach to data
mining. In Proc. 1995 Int. Conf. Very Large Data Bases (VLDB'95), pp. 478-489,
Zurich, Switzerland, 1995.
MANNING, C; RAGHAVAN, P; SCHÜTZE, H. An Introduction to information
Retrieval. Cambridge University Press, Cambridge, England, 2007.
NG R.T., HAN J.: Efficient and Effective Clustering Methods for Spatial Data
Mining. Proc. of the International Conference on Very Large Data Bases, (VLDB
Conference), 1994.
PEI Jian, HAN, Jiawei, MORTAZAVI-ASL, Behzad, PINTO Helen, CHEN Qiming,
DAYAL, Umeshwar, HSU, Mei-chun: PrefixSpan: Mining sequential patterns
efficiently by prefix-projected pattern growth. ICDE 2001, 215-224
SAVASERE, A., OMIECINSKI, E., NAVATHE, S. B. An Efficient Algorithm for
Mining Association Rules in Large Databases. VLDB 1995: 432-444.
SRIKANT, R., VU, Q., AGRAWAL, R.: Mining Association Rules with Item
Constraints Proc. of the 3rd Int'l Conference on Knowledge Discovery in Databases
and Data Mining, Newport Beach, California, August 1997.
16
Download

UMA VISÃO GERAL DAS PRINCIPAIS TAREFAS DE