Professional Documents
Culture Documents
Mining
1 Introdução
O conhecimento1 é de vital importância para o mundo dos negócios e, na atualidade, as
empresas reagem mais rapidamente às mudanças de mercado, onde a ação ou efeito de conhecer
torna-se cada vez mais crítico ao próprio negócio.
Em razão disso, o conhecimento adquirido deve ser consistente/correto, útil e compreensível
para a sua correta interpretação e uso.
Empresas que detém e/ou fornecem o conhecimento adquirido com confiabilidade, rapidez e
de forma organizada, têm grandes chances de permanecerem de forma competitiva no mercado.
A quantidade de dados disponíveis vem crescendo assustadoramente nos últimos anos e
vários fatores contribuíram para este incrível aumento. O baixo custo na armazenagem pode ser
vista como a principal causa do surgimento destas enormes bases de dados. Um outro fator é a
disponibilidade de computadores de alto desempenho a um custo razoável. Como conseqüência,
estes bancos de dados passam a conter verdadeiros tesouros de informação e, devido ao seu
volume, ultrapassam a habilidade técnica e a capacidade humana na sua interpretação (Carvalho,
1999).
Existe necessidade de transformar estes dados em informação para que se torne apoio nas
tomadas de decisão, podendo ser usada para melhorar procedimentos, detectar tendências e
características disfarçadas, e até prevenir ou reagir a um evento que ainda está por vir. Este
1 Ao ser atribuído algum significado especial a um dado, este se transforma em uma informação ou fato. Se especialistas
elaboram uma norma ou regra, a interpretação do confronto entre o fato e a regra constitui um conhecimento (Sade e
Souza, 1996).
processo é um dos objetivos de estudo da área de Inteligência Artificial, onde estão sendo
desenvolvidas metodologias para sua automação, através de Sistemas Computacionais ou Sistemas
Inteligentes bas eados no conhecimento (Carvalho, 1999).
Uma grande parte destes Sistemas são desenvolvidos utilizando as técnicas e algoritmos de
Data Mining ou mineração de dados, que é uma área da Inteligência Artificial que trata da
extração de informação válida, previamente desconhecida e de máxima abrangência, a partir de
grandes bases de dados. A análise automatizada e antecipada oferecida por Data Mining vai muito
além de consulta a um banco de dados – que é fornecida pelas ferramentas de retrospectiva típicas
de sistemas de apoio a decisão, como o OLAP2 e SQL3 -, no sentido de permitir aos usuários
explorar e inferir informação útil a partir dos dados, descobrindo relacionamentos escondidos no
banco de dados.
Este artigo descreve uma ferramenta que foi implementada para auxiliar nas etapas de
preparação da Base de Dados que servirão de entrada aos algoritmos de Data Mining, bem como,
na análise do conhecimento descoberto por estes algoritmos. Desta forma, pode-se caracterizar a
ferramenta proposta neste trabalho como sendo uma ferramenta de pré e pós-processamento para
Data Mining. O artigo está composto da seguinte forma: uma introdução, a seção 2 que descreve
as etapas que envolvem a descoberta de conhecimento, na qual está inserida o Data Mining, a
seção 3 que descreve as funções implementadas na ferramenta e finalmente uma conclusão
apresentada na seção 4.
2 Revisão da Literatura
Para que o conhecimento seja extraído de forma eficiente, os dados são submetidos a um
processo chamado KDD – Knowledge Discovery in Databases, descoberta de conhecimento em
banco de dados, processo este que possui o Data Mining como sua principal etapa, ou seja, o
núcleo do processo, onde, devido a sua importância, muitas vezes é confundido com ele (Fayyad
et. al., 1996).
Neste processo como um todo, estão envolvidas várias etapas que vão desde a seleção da(s)
base(s) de dados sobre a(s) qual(is) será realizado o processamento, até a disponibilização do
conhecimento descoberto para o usuário. Em alto nível de abstração pode-se dizer que essas etapas
fazem parte de três grandes grupos: pré-processamento, aplicação de um algoritmo de Data
Mining e pós-processamento (Michalski e Kaufman, 1999). Na sua grande maioria, os algoritmos de
Data Mining produzem, como parte dos resultados, informações de natureza estatística que
permitem ao usuário identificar o quão correto e confiável é o conhecimento descoberto. Porém,
muitas vezes isso não é suficiente para o usuário. Mesmo que o conhecimento descoberto seja
altamente correto do ponto de vista estatístico, ele pode não ser de fácil compreensão pelo usuário.
Por exemplo, o conjunto de regras descobertas pode ser grande demais para ser analisado, ou
conter muita redundância. Além disso, o conhecimento descoberto pode não ser surpreendente,
representando algum relacionamento previamente conhecido. Poucos algoritmos de Data Mining
produzem, como parte dos resultados, uma medida do grau de compreensibilidade e de surpresa do
conhecimento descoberto. Porém, essas medidas podem ser computadas na fase de pós-
processamento, como uma forma de avaliação adicional da qualidade do conhecimento descoberto,
complementando (e não substituindo) medidas estatísticas sobre o grau de correção daquele
conhecimento.
2.1 Pré-Processamento
O processo inicia-se a partir do conhecimento do domínio da aplicação, assim como dos
objetivos a serem atingidos. A partir daí é realizada a preparação dos dados, que envolve muitas e
trabalhosas tarefas num processo KDD, pois os dados devem ser relevantes ao alcance dos
objetivos, limpos, consistentes e livres de excessivas nulidades.
Seleção dos Dados
A seleção dos dados é constituída de um agrupamento organizado de uma massa de dados,
alvo da prospecção.
Os dados necessários para realizar o processo, estão armazenados nas bases de dados
operacionais, usadas pelos sistemas de informação das empresas e nem sempre estão de acordo
com as exigências definidas pelo domínio apresentado.
Juntar estas informações em uma base de dados centralizadas nem sempre é uma tarefa fácil,
já que pode envolver dados de baixo nível em tabelas relacionais ou conjunto de elementos
hierárquicos em sistemas relacionais. Além de poderem ser usados em diferentes unidades da
empresa, o que pode ocasionar variação na qualidade dos dados. Um exemplo disto é que alguns
departamentos precisam manter bases de dados de alta qualidade contendo informações
consideradas vitais as suas operações, enquanto outros, têm somente subconjuntos de dados
construídos sobre estas bases (Cruz, 2000).
Algumas bases de dados são atualizadas diariamente, enquanto outras contem informações
datadas de vários anos. Diferentes bases de dados usadas em diversas unidades da empresa podem
usar diferentes técnicas para identificar um mesmo atributo: uma através de string e outra por
números. O que deixa claro que a seleção dos dados não é uma tarefa trivial.
A qualidade do conjunto de dados está diretamente relacionada ao nível de ruído encontrado
nos mesmos. O ruído pode ser proveniente de dados alterados devido aos erros de digitação ou
transmissão de dados contendo informações insuficientes para o reconhecimento dos padrões de
conjunto de dados desprovidos dos atributos necessários à modelagem, ou contendo atributos
irrelevantes a modelagem, e de dados não atualizados. O que pode ocasionar inconsistências e
dados imprecisos e/ou incompletos.
Quando se dispõe de uma pequena quantidade de dados, onde todos os exemplos são
importantes, tenta-se substituir o ruído por valores consistentes ao domínio em questão ou até
mesmo gerar dados manualmente. Para o caso em que a quantidade de dados é grande, tenta-se
eliminar os dados que contém ruído. Em ambos os casos, fazem-se necessárias a utilização de
técnicas estatísticas para detectar os campos com ruído e, de acordo com a conveniência, substituí-
los ou desconsiderá-los (Gurek, 2001).
Pré-Processamento e Limpeza
A etapa da limpeza dos dados é realizada através de um pré-processamento dos dados,
visando adequá-los aos algoritmos. Isso se faz através da integração de dados heterogêneos,
tratamento de ausências de dados, eliminação de dados incompletos, repetição de registros,
problemas de tipagem, tratamento de ruídos, que são os dados estranhos e/ou inconsistentes.
O que pode levar a ausência de dados é a indisponibilidade ou a inexistência dos mesmos.
Uma situação de indisponibilidade ocorre quando não existe divulgação do dado. Um exemplo é
os dados de renda de uma pessoa física em função do sigilo (Carvalho, 1999). Já a inexistência de
um dado pode ocorrer quando os dados necessários não existiam na data onde foram iniciados os
processos de armazenagem. Um exemplo, são os dados da população de uma determinada cidade
que foi fundada a poucos anos, pois não possui os dados dos Censos populacionais anteriores, não
podendo fazer parte de estudos estatísticos regionais dos anos anteriores a sua fundação.
Como mencionado anteriormente, essa etapa pode tomar até 80% do tempo necessário para
todo o processo (Manilla, 1994), devido às bem conhecidas dificuldades de integração de bases de
dados heterogêneas.
Quando a base de dados é muito grande, é recomendado selecionar algumas amostras
randomicamente, a fim de obter uma idéia do que pode ser esperado. Quase todas as bases de
dados em grandes empresas são poluídas e quando começam a ser olhadas através da perspectiva
do Data Mining, idéias quanto a consistência dos dados mudam (Cruz 2000).
É importante salientar que o resultado desta etapa é, em geral, um arquivo completamente
distinto das bases de dados originais (Gurek, 2001).
Transformação e Codificação dos Dados
Os dados pré-processados devem ainda passar por uma transformação que os armazena
adequadamente, visando facilitar o uso das técnicas de Data Mining, pois existem diversos tipos
de algoritmos e cada um necessita de uma entrada específica, além das conversões de dados,
criação de novas variáveis e categorização de variáveis contínuas.
Isto é necessário quando os processos de mineração de dados são desacoplados do sistema de
banco de dados. Em algumas aplicações, ferramentas avançadas de representação de conhecimento
podem descrever o conteúdo de um banco de dados por si só, usando esse mapeamento como uma
meta-camada para os dados.
Em muitos países, o acesso a outras bases de dados adicionais está disponível em bases
comerciais e pode prover informação de uma grande variedade de assuntos, incluindo dados
demográficos, tipos de seguro que a pessoa possui, entre outros. O estudo de uma situação onde
companhias trocam dados para coordenar suas operações de marketing tem sido um segmento em
desenvolvimento bastante recente. Privacidade é um ponto muito importante, neste caso.
Jurisprudência nesta área está se desenvolvendo rapidamente. Na maioria dos países onde não é
permitida a venda de dados individuais, sem a permissão do indivíduo, é permitida a venda de
informações de grupos de pessoas, mesmo não sendo uma coisa desejável do ponto de vista ético
(Adriaans, 1996).
Um exemplo que pode ser aplicado para definir, de forma simples, o que é a conversão de
dados, é o caso da estratificação do atributo idade, de uma determinada base de dados em
quinquênios, já que o algoritmo posteriormente utilizado não aceita como entrada atributos
contínuos.
2.2 Pós-Processamento
Existe um grande número de propostas na literatura para “minerar” o conhecimento
descoberto, ou seja, pós-processar o conhecimento descoberto pela etapa de Data Mining. Em
geral as propostas se enquadram em duas categorias básicas: métodos subjetivos e objetivos. No
método subjetivo, é preciso que o usuário estabeleça previamente o conhecimento ou crenças, a
partir do qual o sistema irá minerar o conjunto original de padrões descoberto pelo algoritmo de
Data Mining, buscando por aqueles padrões que sejam surpreendentes ao usuário. Por outro lado,
o método objetivo não necessita que um conhecimento prévio seja estabelecido. Pode-se dizer que
o método objetivo é data-driven e o subjetivo é user-driven (Freitas, 1999).
Os métodos selecionados para serem implementados na ferramenta proposta neste artigo se
caracterizam por serem de natureza objetiva. A razão deste critério se deve ao fato das dificuldades
que são inerentes a tarefa do estabelecimento a priori das expectativas quanto ao conhecimento,
como por exemplo, a dificuldade do usuário explicitar seu conhecimento, pela grande dependência
do apoio de um usuário do domínio em questão, pelo custo inerente a tal atividade, nem todo
usuário tem tempo disponível para tal, etc.
• Quartil
O sistema permite que atributos contínuos sejam estratificados em 4 classes, sendo que os
limites superiores e inferiores respectivos a cada classes são identificados a partoor de valores dos
quartis do referido atributo.
• Estratificação Manual
Nesta opção a estratificação é realizada de forma manual a partir da interação do usuário com
o sistema, quando é informado o número de classes, o limite inferior e superior para cada uma
delas.
Fica claro a partir da estrutura anterior que o item de referência B é o que explica a causa da
exceção, em relação ao senso comum A → X.
Regras excepcionais podem ser bastante surpreendentes. Por exemplo, antibióticos curam
doenças, mas MRSA, um tipo de staphylococci, é resistente a antibióticos. Embora MRSA não
seja uma bactéria perigosa, pacientes francos (por outras causas) às vezes morrem tomando
antibióticos, os quais curam outras doenças, mas favorecem MRSA. Esse relacionamento é
bastante surpreendente, pois representa a conjunção de dois eventos raros: morte por MRSA e
morte por tomada de antobiótico (Suzuki, 1997).
4 Conclusão
Este artigo propõe e descreve uma ferramenta que auxilia nas fases de pré e pós-
processamento em relação a etapa de Data Mining no contexto de KDD. Esta ferramenta foi
construída a partir de um projeto de Iniciação Científica, por alunos do segundo ano do curso de
Ciência da Computação.
Esta ferramenta foi modelada, implementada e encontra-se atualmente em fase de testes.
Estes testes estão sendo realizados por alunos que freqüentam a disciplina de Sistemas
Inteligentes. Após a validação da mesma por estes alunos, serão implementadas as alterações e
adaptações sugeridas, para posterior disponibilização da mesma para a comunidade em geral.