Você está na página 1de 15

Visualizao de Dados em Sistemas de Bases de Dados Relacionais

Agma Juci Machado Traina, Caetano Traina Jnior, Elisngela Botelho, Maria Camila Nardini Barione, Renato Bueno
Instituto de Cincias Matemticas e de Computao - USP So Carlos Avenida Trabalhador Socarlense, 400 13.566-590 So Carlos - SP [agma@ | caetano@ | elisangela@ | camila@ | renato@grad.]icmc.sc.usp.br

Resumo
Tcnicas automticas para anlise de dados frequentemente encontram problemas para aproveitar todo o conhecimento inerente aos dados. Os seres humanos possuem uma capacidade inata para interpretar informaes apresentadas em formato grfico, conseguindo reconhecer mais facilmente o conhecimento associado s informaes. Este artigo apresenta uma ferramenta para a visualizao de dados que apresenta de forma grfica os dados armazenados em uma base relacional, a qual independente de qualquer processo de sumarizao dos mesmos. Essa ferramenta permite aos usurios participar do processo de descoberta de conhecimento sobre os dados em anlise. O artigo desenvolve o arcabouo conceitual que suporta a transformao sobre o conjunto de dados permitindo a visualizao de relao de atributos de diversos tipos (nmeros, datas e textos). Tal transformao efetuada atravs do mapeamento de dados multidimensionais para um espao tri-dimensional, utilizando uma funo de distncia definida pelo usurio. So apresentados resultados dessa transformao sobre conjuntos clssicos da literatura da rea. Atravs de experimentao, mostra-se que a tcnica escalvel a qualquer tamanho de base, considerando tanto o nmero de tuplas quanto o nmero de atributos.

Abstract
Completely automated data analysis techniques often fail to fulfill their jobs, due to their inability to exploit the peripheral knowledge associated with the data. Human beings have a very good ability to interpret data represented in graphical format, and have the wisdom to recognize the associated knowledge. This paper address this dichotomy through a data visualization tool which displays, in a graphical manner, data stored in database relations, without relying on any kind of data summarization. Its objective is to include human beings in the main stream of knowledge data discovery (KDD) processes. The paper develops the conceptual framework which supports the data transformation that enables the visualization of relations composed by attributes of many data types (numbers, dates and texts). This is achieved through the mapping of this multidimensional data into a 3dimensional space, applying a user-defined distance function. The paper shows some examples of utilizations with well-known datasets. Through a set of experiments it also shows that it is scalable to any database size, regarding both number of tuples and number of attributes.

1 . Introduo Procurando por um melhor posicionamento no mercado, as empresas tm buscado obter mais benefcios dos dados que coletaram durante anos de processamento. O volume de dados a ser analisado imenso, e na maioria das vezes no se sabe por onde comear o processo de extrao de informao. Ou seja, todo o esforo e custo de coletar e armazenar dados pode ser infrutfero se no se souber recuperar dados pertinentes que respondam s consultas desejadas pelos usurios, que nesse caso so os proprietrios dessa informao.

Muito trabalho tem sido efetuado recentemente para o desenvolvimento de tcnicas e algoritmos para descoberta de informao em bases de dados (Knowledge Discovery in Databases - KDD) [24]. Segundo Fayyad [9], KDD o processo de identificar estruturas que representem informao vlida, indita, potencialmente til e essencialmente compreensvel, em uma massa de dados. O termo estrutura aqui representa qualquer padro, ou modelo que propicie uma representao parcimoniosa de um sub-conjunto interessante da coleo de dados. Um problema importante do processo de descoberta de informaes em dados armazenados em bases de dados que o tamanho da base pode ser muito grande. Tcnicas e algoritmos de busca de dados que se mostram adequados para conjuntos de dados pequenos podem no o ser quando o volume de dados cresce ordens de grandeza, tanto para o nmero de atributos (dimenses) envolvidos, quanto para o nmero de itens tratados [13]. Por exemplo, algoritmos baseados em rvores de deciso, que procuram priorizar os atributos mais importantes num processo de classificao, operam bem com dados que possuem um nmero pequeno de atributos, em geral at 20. No entanto, quando o nmero de atributos sobe a mais de cem ou mil, esses algoritmos deixam de ser apropriados, pois os tempos de resposta podem subir para semanas de processamento. No entanto, muitas aplicaes podem precisar desse nmero de atributos, como por exemplo sistemas de armazenagem de imagens (ou outros dados complexos, tais como estruturas genticas, udio, ou seqncias temporais) baseados em extrao de caractersticas. Tambm importante reconhecer que num processo de minerao de dados (data miningDM) o objetivo da procura nem sempre claramente definido. Por exemplo, frequente a busca de algum padro no relacionamento entre diversos atributos, ou a busca de agrupamentos (clusters), mas quais atributos, ou que padro seria esse no conhecido priori [12]. Isso levanta tambm os problemas de identificar quo til na prtica uma relao descoberta, e como interpretar os resultados. Segundo [9], o processo de descoberta de informao em bases de dados segue as seguintes etapas: desenvolvimento do Data Warehouse; seleo/amostragem de dados; prprocessamento e limpeza de dados; transformao/reduo de dados; data mining; criao de modelos e definio de padres; avaliao da usabilidade dos padres definidos; visualizao de dados; e extrao de conhecimento. O presente trabalho parte do pressuposto que seres humanos no so eficientes para interpretar grandes volumes de dados em forma numrica ou textual, especialmente em espaos de altas dimenses, mas tm uma percepo muito boa quando esses dados so apresentados de forma grfica. Por outro lado, tcnicas completamente automticas para deteco de caractersticas, classificao, agrupamentos, regresso, etc. so freqentemente distorcidas pela incapacidade da tcnica de aproveitar outros conhecimentos que para um ser humano facilmente reconhecido e interpretado [1] [22]. Assim, este trabalho explora a visualizao de dados armazenados em uma base de dados como elemento de anlise onde o usurio utiliza sua capacidade de percepo visual para interpretar os dados. As tcnicas existentes de visualizao em geral representam informaes estatsticas sobre os dados, tais como a representao de agregados (contagem, total, mnimo, mximo, mdia, etc.) atravs de grficos de barras, tortas, xy, etc. Em algumas situaes onde os dados apresentam naturalmente uma distribuio espacial, existem tambm tcnicas de visualizao espacial desses dados [19]. A visualizao espacial muito significativa para a interpretao dos dados, principalmente quando informaes estatsticas podem mascarar a existncia de distribuies inesperadas nos dados, casos raros (outliers, excees, etc.). Alm disso, a maior parte dos dados

armazenados em bases de dados no apresentam uma distribuio espacial intrnseca, e no se dispe atualmente de tcnicas para represent-los graficamente. Neste trabalho mostramos que possvel criar representaes espaciais a partir de qualquer tipo de dado, considerando que possvel identificar um grau de similaridade entre dois elementos de dados. Dados categricos podem ser usados no processo de visualizao para classificar os demais dados, contribuindo para o processo de interpretao da classificao dos dados. Resumidamente, a tcnica adotada considera que os dados estejam representados em uma relao de uma base de dados, e cada atributo representa um valor numrico (medidas, valores monetrios, etc.), uma data, ou um texto curto (nomes). Para cada um desses tipos de atributos definida uma medida de distncia, que o mdulo da diferena entre dois valores numricos, o nmero de dias entre duas datas, ou a distncia de edio entre dois textos (nmero de letras que devem ser includos, removidos ou substitudos para transformar um texto no outro). As distncias individuais entre cada atributo so ento combinadas para definir a distncia entre cada tupla da relao, permitindo que uma tupla de N atributos seja interpretada como um ponto em um espao N-dimensional. Aplica-se ento um algoritmo de reduo de dimensionalidade - no uma projeo! - que mapeia esse espao para o espao 3-dimensional, onde a visualizao das tuplas feita. Atributos categricos podem ento ser considerados para colorir ou de alguma maneira modificar a representao de cada ponto visualizado. importante destacar que essa tcnica no depende da existncia de uma distribuio espacial dos dados (embora possa consider-la se existir), e todos os dados so visualizados, no apenas estatsticas a seu respeito. O restante deste trabalho est organizado da seguinte maneira. A seo 2 discute os conceitos envolvidos, e os principais trabalhos correlatos existentes na literatura. A seo 3 descreve brevemente a tcnica de FastMap, por ser ela fundamental para o entendimento deste trabalho, e a seguir mostra como ela pode ser adaptada para gerar visualizaes de dados, que podem ser construdas sequencialmente. A seo 4 mostra como os dados soobtidos a partir de relaes de SGBDRs, e descreve como os dados das relaes e a adaptao desenvolvida da tcnica de FastMap so utilizados para criar a ferramenta FastMapDB. A seo 5 mostra medidas de desempenho da ferramenta para grandes conjuntos de dados, bem como alguns resultados de visualizao para conjuntos de dados bem conhecidos da literatura. A seo 6 resume as concluses deste trabalho.

2 . Trabalhos correlatos Como o ser humano tem uma capacidade de absorver e entender informao representada de forma grfica muito mais rapidamente, sempre que preciso sumarizar grande quantidades de dados numricos procura-se utilizar histogramas, grficos ou algum mecanismo de apresentao de sntese visual. Porm, quando muitas das informaes que devem ser apresentadas encontram-se em espaos de altas dimenses, ou mesmo em espaos adimensionais (por exemplo, conjuntos de palavras), as tcnicas de visualizao tradicionais no so adequadas. As ferramentas de visualizao existentes para minerao de dados permitem navegar sobre estruturas de dados complexas, gerar vistas iniciais, bem como apresentar os resultados de anlises solicitadas pelos usurios. Em [14] apresentado um apanhado geral das tcnicas utilizadas em ferramentas para Visual Data Mining (VDM), tais como tcnicas de projeo geomtrica, onde a idia bsica o mapeamento de um espao k-dimensional sobre um dispositivo de apresentao bidimensional utilizando k eixos paralelos eqidistantes a um dos eixos de apresentao dos dados [17]. Os eixos do grfico correspondem s dimenses e so

escalados linearmente pelos valores de mnimo e mximo de cada dimenso correspondente. Os objetos do conjunto de dados a serem visualizados so apresentados como poligonais que interceptam os eixos nas alturas correspondentes aos valores considerados em cada dimenso. Outras tcnicas utilizadas em VDM so baseadas em cones (ou tcnicas de apresentao icnicas). Nesse caso, mapeia-se cada item de dado multidimensional em um cone. Em [25] temse um exemplo de utilizao dessa tcnica. importante notar que esta tcnica limita o nmero de dimenses a serem apresentadas. Beddow em [4] prope uma variao mais refinada de apresentaes icnicas, chamada de tcnica baseada em codificao de forma. Essa tcnica permite visualizar um nmero arbitrrio de dimenses dos dados em anlise, j que ela mapeia cada dimenso a um vetor de pixels. Esse vetor de pixels ento organizado em quadrados ou retngulos e so apresentados utilizando padro de cores ou escala em tons de cinza, onde as cores so associadas s dimenses. A seguir os retngulos de pixels coloridos que indicam cada item de dado so apresentados alinhados na tela. Seguindo a idia da codificao de forma, novas tcnicas de VDM surgiram e entre as mais representativas esto as tcnicas orientadas a pixel. Nessa tcnica cada atributo do item de dado a ser apresentado associado a uma cor. Cada atributo ento visualizado em janelas especficas para todos os objetos da relao em anlise. Como essa tcnica utiliza apenas um pixel da tela para cada valor de atributo da tupla, as tcnicas orientadas a pixel permitem visualizar conjuntos de dados bastante grandes (testes efetuados at 1 bilho de valores de atributos) [18]. Aqui a questo crucial como organizar os pixels na tela de forma que a informao desejada seja captada mais facilmente. Em [20] tem-se um apanhado geral das propostas de organizao de tela para apresentao dos pixels bem como uma explicao mais detalhada dessas tcnicas. Uma outra abordagem utilizada a chamada tcnica hierrquica, a qual sub-divide um espao k-dimensional em sub-espaos que so apresentados hierarquicamente. Por exemplo, em [21] apresentada a tcnica de stacking que sub-divide o espao de dados em sub-espaos bidimensionais e efetua a apresentao da informao graficamente. Outro exemplo dessa tcnica a Cone Tree [27]. A utilizao de grafos suportando uma grande variao de algoritmos para layouts, linguagens de consultas e tcnicas de abstrao so encontrados em [28] [3] [6]. importante ressaltar a utilizao de recursos tais como: transformaes [2], projees, filtros e zoom, para efetuar-se a interao com o usurio no processo de explorao visual do dados. O processo de visualizao de dados auxilia tambm na certificao e identificao de agrupamentos (clusters) de objetos no conjunto de dados em anlise [26]. Entre os trabalhos mais representativos para a rea, esto o sistema Clarans [23] que utiliza algoritmos de particionamento e o sistema Birch [31]. Para domnios de dados espaciais j existem diversos estudos e vrias tcnicas foram desenvolvidas, como por exemplo [7] e [29]. Para o domnio de dados mtricos, onde apenas objetos e distncias entre eles so disponveis, o trabalho de Ganti e outros [10] bastante interessante. Por outro lado, o tratamento de dados em domnios espaciais de altas dimenses custoso, qualquer que seja o processamento em que se est interessado. Assim, tcnicas de reduo de dimensionalidade tm sido desenvolvidas. Um dos marcos dentre essas tcnicas aquela conhecida como FastMap [8], a qual efetua o mapeamento de dados de espaos em altas dimenses para espaos de dimenses menores preservando o mximo possvel as distncias entre os objetos. A partir dessa tcnica, diversas outras foram desenvolvidas [30], para domnios especficos de aplicao, como imagens [5] e sequncias de DNA [15]. No entanto, a tcnica FastMap tem se mostrado robusta para aplicaes em geral, e no foi desenvolvido nenhum

mtodo que apresente um desempenho significativamente melhor, mesmo em aplicaes especiais [16]. 3 . O algoritmo FastMap A ferramenta descrita neste trabalho baseia-se na aplicao da tcnica FastMap, inicialmente desenvolvida com o objetivo de reduo de dimensionalidade em espaos de altas dimenses. Dada a importncia desta tcnica para este trabalho, apresentamos aqui os principais conceitos envolvidos, dos quais essas propriedades derivam. A descrio matemtica dos mesmos pode ser encontrada em [8]. A tabela 1 apresenta a lista dos smbolos utilizados neste trabalho. Significado relao de uma base de dados 5 $ $' conjuntos de atributos de uma relao 5 da base de dados Ai um atributo de uma relao 5, isto : $={Ai | Ai5} R conjunto de tuplas de uma relao 5, isto : R/dom(A1)Xdom(A2)X ... d(x, y) funo distncia mtrica entre dois elementos x e y. i(v1, v2) diferena entre dois valores de atributos de um domnio dom($i) conjunto de pares de pivs para um mapeamento P <pk1, pk2> um par de pivs um elemento de dado, ou uma tupla ri valor do atributo i da tupla k aik um domnio de dados 6 0 um espao mtrico 0 <6, d()> dimenso do espao destino do mapeamento Dt
Tabela 1 - Smbolos utilizados neste trabalho.

Smbolo

Essa tcnica pode ser descrita de uma maneira intuitiva da seguinte maneira. So dados de entrada uma coleo R de N objetos ri 6, uma funo distncia mtrica1 d(ri, rj) definida sobre todos os objetos de R, e a dimenso Dt do espao destino onde se pretende mapear os dados. Inicialmente procura-se em R o par de objetos mais distantes entre si, que passam a ser referenciados como o par de pivs p11 e p12, e calcula-se a distncia entre esses pivs. Considerase que um dois eixos do espao destino definido por esse par de pivs. A seguir calculam-se as distncias de todos os objetos ri para cada objeto do par, e usa-se essas distncias para projetar o valor da primeira coordenada de cada objeto no espao destino sobre esse eixo. O clculo

Uma funo de distncia considerada mtrica se ela atende s propriedades de no-negatividade, simetria e desigualdade triangular.

dessa coordenada (e das subseqentes) efetuado utilizando-se a lei dos cossenos, considerando cada tringulo gerado pelos pontos ri e o par de pivs, como mostrado na figura 1. Isso resulta na seguinte frmula: d ( p k 2 , ri ) 2 = d ( p k 1 , ri ) 2 + d ( p k 1 , p k 2 ) 2 2 x ki * d ( p k 1 , p k 2 ) ou

x ki
onde:

d ( p k 1 , ri ) 2 + d ( p k 1 , p k 2 ) 2 d ( p k 2 , ri ) 2 = 2d ( pk 1, pk 2 )

(1)

xki o valor da coordenada do objeto ri sobre esse eixo, e k corresponde ao ndice da coordenada sendo calculada, sendo que 1kDt. Pontos em um espao de dimenso elevada no podem ser colocados em um espao de dimenso menor mantendo as mesmas distncias relativas entre os objetos. A tcnica FastMap procura minimizar a distoro causada, reduzindo a diferena mdia das distncias entre todos os objetos. A maneira intuitiva de entender isso, considerar que todos os pontos esto ligados por molas, que esto completamente distendidas no espao original. Quando esses pontos so mapeados para um espao de dimenses menores, as molas so comprimidas, e essa compresso deve ser distribuda uniformemente em todo Figura 1 - Projeo de um ponto ri o novo universo. A compresso para o primeiro eixo sobre o eixo (pk1, pk2). levada em conta diretamente pela lei dos cossenos, portanto os valores obtidos para o primeiro eixo no precisam ser corrigidos. No entanto, para os eixos subsequentes, a funo distncia deve ser modificada, para levar em conta as distores j introduzidas pelos eixos anteriores. Assim, sendo, a funo d'k(r'i, r'j), que calcula a distncia Euclidiana entre os objetos r'i e r'j projetados a partir dos objetos ri e rj no espao destino j contendo k-1 dimenses dada por:
d ' k ( r 'i , r ' j ) =
2

d ( ri , r j ) 2 ( x ki x kj ) 2

(2)

sendo que x1i=x1j=0. Essa equao permite construir as coordenadas de cada objeto r'i seqencialmente, pois cada funo construda incrementalmente sobre os valores j calculados para as coordenadas anteriores. Note-se que a escolha do primeiro par de objetos para constituirem-se no par de objetos mais distantes pode usar a funo d() diretamente, porm a escolha dos demais pares de pivs, que definiro os eixos das demais coordenadas, deve ser efetuada utilizando as respectivas funes d'k(). Como cada par de pivs no precisa ser projetado para se encontrar o respectivo xki, a distoro resultante para os pivs sempre nula, o que evita que um objeto j escolhido para piv seja escolhido novamente em uma dimenso subseqente. Observe que, aps a definio dos pivs, o mapeamento de um objeto independe dos demais, pois as distncias envolvidas so apenas aquelas entre os pivs e entre cada objeto e um piv. Assim podemos apresentar a seguinte definio:

Definio 1 - Mapeamento definido por uma lista de Pivs (MP): Dado um espao mtrico 0 <6, d()> , constitudo pelo domnio de objetos 6 e por uma funo distncia mtrica d(ri, rj) definida sobre elementos ri, rj6, e uma lista ordenada de Dt pares de pivs P=(<pk1, pk2>), 1kDt, onde cada piv pk1, pk26, chamamos de Mapeamento definido por uma lista de Pivs MP(0, P) ao processo que gera um espao de dimenso Dt pela tcnica de FastMap, a partir de um conjunto R={ri | ri6} de N pontos pertencentes a 6. Note-se que essa definio pressupe o desmembramento da tcnica de FastMap em duas etapas: a primeira consiste na definio do conjunto de pivs, e deve ser executada uma nica vez para cada mapeamento; a segunda consiste no mapeamento efetivo dos objetos. Ao contrrio da tcnica FastMap original, um mapeamento no pressupe que os pivs sejam mapeados. Isso permite que a segunda etapa possa ser repetida tantas vezes quanto necessrio. Por construo, um processo de mapeamento MP pode ser implementado de maneira a apresentar as seguintes propriedades: - complexidade computacional linear sobre o nmero de atributos Dt e sobre o nmero N de elementos de dados a serem mapeados; - rapidez e eficincia do mapeamento; - dinmico em relao a operaes de insero e remoo de elementos no conjunto R; - repetitividade do resultado do mapeamento de um mesmo objeto, independentemente dos demais objetos mapeados. Alm disso, embora no seja uma propriedade fundamental num processo de visualizao, um processo MP procura preservar o mais possvel as distncias do espao original no espao mapeado. Como apenas as distncias entre os objetos so utilizadas, este processo apresenta ainda a vantagem de poder mapear para um espao dimensional os dados em espao mtricos adimensionais.

4 . Obtendo dados em relaes Na seo anterior foi apresentado um algoritmo que permite efetuar o mapeamento de um conjunto de dados multi-dimensional para uma representao em um espao de dimenso menor. Esta seo apresenta a utilizao daquele algoritmo para mapear dados armazenados em uma base relacional, com o objetivo de visualizar o mapeamento numa representao tri-dimensional dos dados de uma relao. Uma relao 5 de uma base de dados relacional pode ser definida como sendo um subconjunto do produto cartesiano dos domnios dos atributos $={Ai | Ai5} que compem a relao. Seja U($)=A1XA2X...Ac esse cartesiano, onde c a cardinalidade de $. Ento podem ser definidos mapeamentos definidos por uma lista de pivs sobre uma relao, em que os espaos 0 desses mapeamentos sempre sero U($), e a lista de pivs ser composta de tuplas pk1U($) e pk2U($). Note-se que no h a necessidade dos pivs serem tuplas da relao, embora nada impea isso. Como nem todos os atributos de uma relao podem ser interessantes para um processo de mapeamento, apresentamos a seguinte definio, que considera que apenas um sub-conjunto dos atributos de uma relao podem ser utilizados para um processo de mapeamento.

Definio 2 - Mapeamento de atributos de uma Relao definido por uma lista de pivs (MR): Dado um subconjunto $ dos atributos de uma relao 5 $ ={Ai | Ai5 uma funo distncia mtrica d(ri, rj) definida sobre o produto cartesiano U($ ), e uma lista ordenada de Dt pares de pivs P=(<pk1, pk2>), 1kDt, onde cada piv pkiU($ ), chamamos de Mapeamento de um sub-conjunto de atributos de uma Relao definido por uma lista de pivs MR(5, $ , d(), P) ao processo que gera um espao de dimenso Dt pela tcnica de FastMap, a partir dos atributos $ das tuplas da relao 5, as quais encontram-se separadas por distncias que podem ser medidas por d().


`


Um processo MR(5, $ , d(), P) pode ser aplicado a qualquer sub-conjunto $ de cardinalidade c'>0 de qualquer relao 5 de uma base de dados, desde que sejam definidos: 1 - uma funo mtrica d() sobre $ , e 2 - um conjunto P de pivs em U($ ). Seja Dom(Ai) o domnio de cada atributo Ai5 da relao. Para a definio da funo mtrica, consideramos que seja possvel calcular a distncia entre qualquer par de elementos de um domnio desses atributos Ai$ . Para evitar confuso com a terminologia, chamaremos de diferena distncia entre pares de elementos do domnio de um atributo, e usaremos a notao i(aij, aik) | aij, aik Dom(Ai). Essa diferena, embora seja tambm uma funo de distncia, no necessariamente precisa ser mtrica. Existindo as funes diferenas i() de todos os atributos Ai$ , pode-se usar qualquer mtrica Lp ponderada para definir a funo d(), isto ,

d () = LW = p

bi i ( a ij , a ik )
i =1

c'

(3)

onde c' a cardinalidade de $ e bi o peso do atributo Ai. Uma vez definida a funo d(), o conjunto de pivs pode ser indicado diretamente pelo usurio, ou escolhido pela primeira fase do processo de mapeamento dentre as tuplas da relao. importante destacar que embora essa escolha seja flexvel, os pivs no podem mais ser alterados depois que o processo de mapeamento estiver definido. No entanto, tuplas inseridas ou removidas podem ser imediatamente mapeadas no espao destino do mapeamento, permitindo que o processo seja completamente dinmico. Note-se que embora o algoritmo apresentado escolha os pivs dentre os objetos originalmente presentes na relao, no necessrio que um piv seja parte do conjunto de objetos mapeados. Isso permite que uma tupla que tenha sido escolhida para constituir um piv possa ser removida, sem que os pivs tenham que ser reescolhidos.

4.1 - A Ferramenta FastMapDB Utilizando os conceitos e tcnicas apresentados, foi desenvolvida uma ferramenta de visualizao de dados armazenados em relaes de bases relacionais, denominada FastMapDB. Essa ferramenta destina-se a auxiliar com recursos visuais, a anlise de dados em processo de descoberta de conhecimento a partir de dados armazenados em bases de dados. O objetivo da ferramenta permitir ao usurio ver a distribuio de objetos. Ela permite por exemplo verificar a existncia de outliers, auxiliar nas tarefas de limpeza e preparao de dados, e auxiliar o usurio a escolher conjuntos mais reduzidos de atributos a serem submetidos a operaes de

data mining, bem como verificar a adequao ou no de uma resposta recebida de algum processo automtico efetuado. Descrita sucintamente, a ferramenta FastMapDB deve ser utilizada numa sequncia de quatro passos: 1 - escolha da relao 5 a ser visualizada; 2 - escolha dos atributos $' de 5 que iro compor a visualizao; 3 - definio da funo distncia d() e dos pivs P; 4 - definio dos parmetros da visualizao. possvel voltar qualquer passo anterior, porm sempre que um determinado passo executado, os dados dos passos subseqentes, porventura j executados, so descartados. A ferramenta apresenta uma interface grfica, procurando tornar a interao com o usurio agradvel. As opes de escolha sempre esto presentes para o usurio. Por exemplo, para a escolha da relao a ser visualizada, o usurio deve selecionar dentre a lista de todas as relaes da base que lhe mostrada. Da mesma maneira, uma vez escolhida a relao 5, seus atributos so mostrados. O usurio deve ento escolher aqueles de seu interesse para compor o conjunto $'. Os domnios dos atributos que a ferramenta permite escolher, bem como a funo diferena i() associada so os seguintes: Domnio numrico (integer, float, double precision, decimal, numeric, currency) - nesse caso, a funo diferena i() diretamente a diferena entre os valores dos atributos; Domnio tempo (date, time, datetime) - nesse caso, a funo diferena i() o nmero de dias entre as datas, mais a frao da diferena de tempo, em segundos, em relao a 86400 segundos (24 horas) - por exemplo i('05/01/2001 9:00', '07/01/2001 15:00')2,25 (dois dias e seis horas: 2 de dia); Domnio texto (char, varchar, decimal, numeric) - nesse caso, a funo diferena i() a distncia LEdit entre os dois textos, isto , o nmero de caracteres que devem ser inseridos, removidos ou substitudos para transformar um texto no outro. Os tipos decimal e numeric so tomados pelos dgitos que os representam. Definido o conjunto $', o usurio deve proceder definio da funo distncia d(). As opes aqui incluem o expoente p a ser usado na equao (3) (por default p=2), e os respectivos pesos bi de cada atributo (por default bi=1). Alm disso, o usurio pode escolher se cada diferena i() ser usada diretamente, ou ser antes tomado seu logaritmo. Essa ltima opo interessante quando existem dois ou mais atributos com faixas de variao muito diferentes entre eles. Finalmente, o usurio pode escolher se o resultado da equao (3) ser usado diretamente no processo de mapeamento, ou se ser utilizado seu logaritmo. Com a funo distncia definida, o programa escolhe os pivs P, dentre os pares de tuplas mais distantes entre si, conforme preconizado pela primeira etapa do desmembramento da tcnica de FastMap. O usurio pode ento proceder etapa de visualizao, quando deve ento escolher quais tuplas mapear. Isso feito por um critrio de seleo, que nada mais do que a conjuno de uma ou mais condies de seleo. Nesse passo, pode-se escolher tambm um atributo categrico, que ser utilizado como atributo de classificao das tuplas e correspondentes pontos visualizados, o que ser mostrado atravs de diferentes formatos e cores com que os pontos so apresentados. Cada vez que um conjunto de tuplas submetido para mapeamento, pode-se escolher se cada tupla ser visualizada segundo o formato/cor definidos pelo valor do atributo classificador escolhido, ou por um formato/cor especificados separadamente para esse conjunto.

Essa ltima opo til por exemplo para verificar onde esto mapeadas as tuplas que correspondem a uma consulta de seleo em particular. A verso atual da ferramenta mapeia os atributos escolhidos para um espao bi- ou tridimensional. A ferramenta consta basicamente de 3 telas: a tela principal, a tela de configurao da funo distncia, e a tela de visualizao. A figura 2 mostra a tela principal, quando o usurio est escolhendo atributos de uma relao. Na prxima seo as figuras 4 e 5 mostram telas de visualizao. A atual verso da ferramenta FastMapDB foi desenvolvida em linguagem C++ utilizando o ambiente C++Builder da Borland, para ambiente NT, utilizando o protocolo ODBC para coneco com os gerenciadores de banco de dados. A ferramenta atualmente pode acessar relaes em gerenciadores Oracle, Sybase, MS-SQLServer e Borland Interbase.

5 . Medidas de Desempenho e Exemplos de Utilizao Nesta seo apresentam-se resultados da aplicao da ferramenta FastMapDB sobre alguns conjuntos de dados. Os resultados mostram dois aspectos: a escalabilidade da ferramenta, quanto ao nmero de atributos e quanto ao nmero de tuplas de uma relao da base de dados; e como recursos de visualizao auxiliam no entendimento de conjuntos de dados. Note que esta ferramenta permite a manipulao interativa da visualizao sobre o conjunto de dados, utilizando operaes de escala, rotao e translao da janela de viso sobre os mesmos.

Figura 2 - Tela principal da ferramenta FastMapDB.

5.1 - Escalabilidade Para estes testes foram geradas 5 tabelas com 10, 20, 40, 80 e 100 mil tuplas. Cada tabela possui dez atributos numricos do tipo float, gerados aleatoriamente, mais um atributo categrico classificador, com 3 possveis valores, tambm aleatrios. A Figura 3a) mostra o tempo de processamento da ferramenta utilizando essas relaes, executando o mapeamento sobre os dez atributos numricos. J o grfico mostrado na Figura 3b) apresenta o tempo de

processamento da aplicao da ferramenta considerando-se apenas a tabela com 20 mil tuplas, mas agora, variando-se o nmero de atributos selecionados para o mapeamento de 5 a 10. Os tempos mostrados referem-se ao tempo total desde que o usurio solicita o mapeamento, incluindo a leitura de todos os dados na base, o processo de mapeamento, at a finalizao do processo de desenho na tela. Para evitar a influncia de fatores externos na medida, tais como o estado do cache do gerenciador da base de dados, cada medida foi efetuada reinicializando-se tanto o programa FastMapDB quanto o gerenciador. Pode-se constatar pelos grficos da Figura 3 a linearidade da ferramenta variando-se tanto o nmero de atributos quanto o nmero de tuplas da relao. Todos os testes foram efetuados em um computador Pentium III operando a 350MHz, com 128 MBytes de memria, acessando um banco de dados Interbase local, e sistema operacional MS Windows98.

Figura 3 - Grafico de escalabilidade da ferramenta FastMapDB. a) quanto ao nmero de tuplas; b) quanto ao nmero de atributos.

5.2 - Visualizao de dados Nesta segunda etapa foram realizados experimentos com o objetivo de ilustrar a habilidade da ferramenta na visualizao de dados. Mostramos aqui sua utilizao com dois conjuntos bem conhecidos de pesquisadores da rea, mas que, acreditamos, nunca antes haviam sido vistos: o conjunto Iris Plant, conhecido desde 1938, e o conjunto Congressional Voting Records de 1984. Ambos os conjuntos esto disponveis no web site do Machine Learning Repository da Universidade da California em Irvine (http://www.ics.uci.edu/~mlearn/MLSummary.html). Para a visualizao destes conjuntos de dados o mapeamento sempre foi realizado sobre todos os atributos. O conjunto Iris contm dados sobre flores do gnero Iris divididas em trs classes de 50 tuplas cada (Iris setosa, Iris versicolor e Iris virginica). O conjunto possui quatro atributos numricos contnuos: comprimento da spala, largura da spala, comprimento da ptala, e largura da ptala. bem conhecido que a classe Iris setosa completamente separvel das demais, e as demais no. Na Figura 4 pode-se ver o porque! A figura 4(a) mostra uma viso panormica de todo o conjunto de dados, e a Figura 4(b) detalha o conjunto separvel da classe Iris setosa. No conjunto Votos, constitudo do registro de votos do congresso americano em 1984, cada tupla corresponde ao voto de um congressista em 16 assuntos (por exemplo, gastos com

educao, crime, etc.). Todos os atributos tm o valor 1 (aprova), -1 (no aprova) ou zero (nulo ou absteno). Cada tupla tem tambm um atributo categrico, indicando a que partido, Republicano (168 tuplas) ou Democrata (267 tuplas), o congressista correspondente pertence. Este exemplo ilustra a visualizao de dados no contnuos. bem conhecido que este conjunto apresenta boa separabilidade entre democratas e republicanos (95% de acerto segundo [11]), e a Figura 5 demonstra isso sob dois ngulos, que mostram como as duas classes ficam polarizadas com pouca sobreposio.

Figura 4 - Visualizao do conjunto Iris. a) Viso de todo o conjunto. b) detalhe do sub-conjunto da espcie setosa.

Figura 5 - Dois ngulos de visualizao do conjunto Votos.

6 . Concluses Existem muitas ferramentas para a visualizao de informaes extradas de bases de dados, mas a maioria delas permite a visualizao de informaes estatsticas sobre os dados, tal como totalizadores, mdias, etc., em formatos tais como: grfico de tortas, histogramas, grficos x-y, etc. As poucas ferramentas que permitem a visualizao espacial de como os dados esto

distribudos recaem no uso de uma distribuio intrnseca, ou seja, os dados precisam ter naturalmente uma distribuio espacial em alguns de seus atributos. A ferramenta FastMapDB, ao contrrio, cria uma distribuio para os dados armazenados numa relao de uma base de dados relacional, qualquer que sejam os tipos de dados dos atributos que constituem a relao. Essa possibilidade de visualizao dos dados permite utilizar a reconhecidamente elevada capacidade humana de interpretao de dados mostrados graficamente, e permite efetivamente incluir o usurio humano como um elo importante na cadeia de processos de anlise de dados para descoberta de conhecimento em grandes bancos de dados. Um benefcio adicional a possibilidade de utilizar a ferramenta para validao, tanto de dados quanto de processos e algoritmos de anlise de dados. Com ela, possvel por exemplo verificar se um processo de minerao de dados tal como classificao, agrupamento, etc., obteve um bom resultado, e se no, pode fornecer pistas de como corrigir, ou o motivo do problema. Assim, as principais contribuies deste trabalho so: - desenvolvimento de uma tcnica para visualizao incremental de dados a partir de relaes compostas por atributos de qualquer tipo de dado; - desenvolvimento de um algoritmo para visualizao, que rpido e escalvel para conjuntos de dados muito grandes, apresentando complexidade computacional linear para o nmero de tuplas e para o nmero de atributos na relao. - implementao de uma ferramenta prtica para utilizao em bases de dados reais, armazenados em gerenciadores comerciais. O desenvolvimento futuro deste trabalho envolve tanto atividades acadmicas quanto extenses de ordem prtica. Dentre as atividades acadmicas em andamento, incluem-se a possibilidade de utilizao dos conceitos para a classificao e descoberta de agrupamentos visuais, dentro da linha de pesquisa de Visual data mining - VDM, e a possibilidade de incluir-se na visualizao mais de uma relao simultaneamente, orientando a ferramenta para a rea de data warehouse e On Line Analitical Processing - OLAP. Dentre as extenses de ordem prtica, esto a incluso de diferentes formas de manipulao dos dados, e outras formas de comparao entre atributos, como por exemplo, a possibilidade de o usurio definir uma matriz de distncias para dados de baixa cardinalidade.

7 . Bibliografia [1] M. Ankerst, C. Elsen, M. Ester, H.-P. Kriegel, Visual Classification: An Interactive Approach to Decision Tree Construction, in ACM SIGKDD Intl. Conf. on Knowledge Discovery and Data Mining, San Diego, CA, USA, 1999, pp. 392-396. [2] M. Ankerst, M. Ester, H.-P. Kriegel, Towards an Effective Cooperation of the User and the Computer for Classification, in ACM SIGKDD Int. Conf. on Knowledge Discovery & Data Mining (KDD'2000), Boston, MA, 2000, pp. 179-188. [3] R. A. Becker, S. G. Eick, G. J. Wills, Visualizing Network Data, IEEE Transactions on Visualization and Computer Graphics, vol. 1, pp. 16-28, 1995. [4] J. Beddow, Shape Coding of Multidimensional Data on a Microcomputer Display, in IEEE Proc. Visualization, Los Alamitos, CA, 1990, pp. 238-246. [5] A. Berman and L. G. Shapiro, Selecting Good Keys for Triangle-Inequality-Based Pruning Algorithms, in Intrl. Workshop on Content-Based Access of Image and Video Databases (CAIVD '98), Bombay, India, 1998, pp. 12-19.

[6] S. G. Eick and G. J. Wills, Navigating Large Networks with Hierarchies, in IEEE Proc. Visualization, IEEE Proc. Visualization, 1993, pp. 201-210. [7] M. Ester, A. Frommelt, H.-P. Kriegel, J. Sander, Algorithms for Characterization and Trend Detection in Spatial Databases, in Fourth Intl. Conf. on Knowledge Discovery and Data Mining, New York City, NY, 1998, pp. 44-50. [8] C. Faloutsos and K. Lin, FastMap: A Fast Algorithm for Indexing, Data-Mining and Visualization of Traditional and Multimedia Datasets, in ACM SIGMOD, Zurich, Switzerland, 1995, pp. 163-174. [9] U. Fayyad, Mining Databases: Towards Algorithms for Knowledge Discovery, Bullettin of Tech. Committee on Data Engineering, vol. 21, pp. 29-48, 1998. [10] V. Ganti, J. Gehrke, R. Ramakrishnan, Mining Very Large Databases, IEEE Computer, vol. 32, pp. 38-45, 1999. [11] S. Guha, R. Rastogi, K. Shim, ROCK: A Robust Clustering Algorithm for Categorical Attributes, in IEEE ICDE, 1999, pp. 512 521. [12] A. Hinneburg and D. A. Keim, Clustering Methods for Large Databases: From the Past to the Future, in ACM SIGMOD, Philadelphia, PA, 1999, pp. 509. [13] A. Hinneburg and D. A. Keim, Optimal Grid-Clustering: Towards Breaking the Curse of Dimensionality in High-Dimensional Clustering, in VLDB, 1999, pp. 506-517. [14] A. Hinneburg, D. A. Keim, M. Wawryniuk, HD-Eye: Visual Mining of High-Dimensional Data, IEEE Computer Graphics and Applications, vol. 19, pp. 22-31, 1999. [15] G. Hristescu and M. Farach-Colton, Cluster-preserving embedding of proteins, DIMACS, Technical report 99-50, 1999 1999. [16] G. Hristescu and M. Farach-Colton, Cofe: A Scalable Method for Feature Extraction from Complex Objects, in 2nd International Conference on Data Warehousing and Knowledge Discovery (DaWaK 2000), Greenwich, U.K., 2000. [17] A. Inselberg and B. Dimsdale, Parallel Coordinates: A Tool for Visualizing Multidimensional Geometry, in IEEE Visualization, 1990, pp. 361-370. [18] D. A. Keim, Visual Techniques for Exploring Databases, in ACM KDD, 1997, pp. tutorial. [19] D. A. Keim, Designing Pixel-Oriented Visualization Techniques: Theory and Applications, in IEEE Trans. on Visualisation and Computer Graphics, vol. 6: IEEE Computer Society, 2000, pp. 59-78. [20] D. A. Keim and H.-P. Kriegel, VisDB: Database Exploration Using Multidimensional Visualization, IEEE CG&A, vol. 14, pp. 16-19, 1994. [21] J. LeBlanc, M. O. Ward, N. Wittels, Exploring N-dimensional Databases, in Visualization Conf., 1990, pp. 231-237. [22] J. Q. Louie and T. Kraay, Origami: A New Data Visualization Tool, in Fifth ACM SIGKDD Intl. Conf. on Knowledge Discovery and Data Mining, San Diego - CA USA, 1999, pp. 405-408. [23] R. T. Ng and J. Han, Efficient and Effective Clustering Methods for Spatial Data Mining, in VLDB, 1994, pp. 144-155. [24] G. Piatetsky-Shapiro and W. J. Frawley, Knowledge Discovery in Databases. Cambridge, MA: MIT Press, 1991. [25] R. M. Pickett and G. G. Grinstein, Iconographic Displays for Visualizing Multidimensional Data, in IEEE Conf. on Systems, Man and Cybernetics, Piscataway, NJ, 1988, pp. 514-519. [26] W. Ribarsky, J. Katz, F. Jiang, A. Holland, Discovery Visualization Using Fast Clustering, IEEE CG&A, vol. 19, pp. 32-39, 1999.

[27] G. Robertson, S. Card, J. Mackinlay, Cone-Trees: Animated 3D Visualization of Hierarquical Information, in ACM SIGCHI Intl. Conf. on Human Factors in Computing, New York - NY, 1991, pp. 189-194. [28] M. A. Shah, M. Kornacker, J. M. Hellerstein, amdb: A Visual Access Method Development Tool, in Int'l Wksp. on User Interfaces to Data Intensive System, Edinburgh, Scotland, U.K., 1999, pp. 130-140. [29] N. A. Syed, H. Liu, K. K. Sung, A study of support vectors on model independent example selection, in Fifth ACM SIGKDD Intl. Conf. on Knowledge Discovery and Data Mining, San Diego, CA USA, 1999, pp. 272-276. [30] J. T.-L. Wang, X. Wang, K.-I. Lin, D. Shasha, B. A. Shapiro, K. Zhang, Evaluating a class of distance-mapping algorithms for data mining and clustering, in ACM KDD, San Diego, CA, 1999, pp. 307-311. [31] T. Zhang, R. Ramakrishnan, M. Livny, BIRCH: An Efficient Data Clustering Method for Very Large Databases, in ACM SIGMOD Intl. Conf. on Management of Data - SIGMOD, Montreal, Quebec, Canada, 1996, pp. 103-114.