EMERSON RABELO AVALIAÇÃO DE TÉCNICAS DE VISUALIZAÇÃO PARA MINERAÇÃO DE DADOS MARINGÁ 2007 EMERSON RABELO AVALIAÇÃO DE TÉCNICAS DE VISUALIZAÇÃO PARA MINERAÇÃO DE DADOS Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Estadual de Maringá, como requisito parcial para obtenção do grau de Mestre em Ciência da Computação. Orientadora: Profª. Drª. Maria Madalena Dias MARINGÁ 2007 Dados Internacionais de Catalogação-na-Publicação (CIP) (Biblioteca Central - UEM, Maringá – PR., Brasil) R114a Rabelo, Emerson Avaliação de técnicas de visualização para mineração de dados / Emerson Rabelo. -- Maringá : [s.n.], 2007. 103 p. : il. color., figs. Orientadora : Profª. Drª. Maria Madalena Dias. Dissertação (mestrado) - Universidade Estadual de Maringá. Programa de Pós-graduação em Ciência da Computação, 2007. 1. Mineração de dados. 2. Visualização de informação. I. Universidade Estadual de Maringá. Programa de Pós-graduação em Ciência da Computação. II. Título. CDD 21.ed. 006.312 EMERSON RABELO AVALIAÇÃO DE TÉCNICAS DE VISUALIZAÇÃO PARA MINERAÇÃO DE DADOS Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Estadual de Maringá, como requisito parcial para obtenção do grau de Mestre em Ciência da Computação. Aprovado em 05/09/2007 BANCA EXAMINADORA Profa. Dra. Maria Madalena Dias Universidade Estadual de Maringá – DIN/UEM Profa. Dra. Clélia Franco Universidade Estadual de Maringá – DIN/UEM Prof. Dr. Júlio Cesar Nievola Pontifícia Universidade Católica do Paraná – PPGIa/PUCPR AGRADECIMENTOS Agradeço primeiramente a Deus pela força nos momentos de dificuldades e, pela luz que iluminou e guiou meus passos direcionando-me no caminho da aprendizagem. Agradeço a minha mãe Josefa Benites Rabelo, pela sua dedicação e amor e ao meu pai Valentim Rabelo, que sempre me mostrou por meio de atitudes o valor da humildade e do trabalho. O meu irmão que sempre esteve presente e disposto a me ajudar em qualquer momento. Agradeço a minha Esposa Juliana F. Rabelo por estar ao meu lado em todos os momentos de alegria e dificuldades, pois sem a sua presença com certeza seria muito mais difícil. Agradeço a Deus mais uma vez, por ter colocado no meu caminho uma pessoa maravilhosa que é minha orientadora professora Maria Madalena Dias, pela oportunidade, profissionalismo, não medindo esforços no apoio para realização deste trabalho compartilhando o seu conhecimento. Agradeço a todos os professores que, de forma direta ou indireta, contribuíram para este trabalho, principalmente a professora Clélia Franco pelo valor dos seus conhecimentos, conselhos e sua disposição. Agradeço ao meu Primo Heber Rabelo pela ajuda na finalização deste trabalho. Agradeço aos funcionários do Departamento de informática em especial a Maria Inês Davanço pela ajuda e paciência. A todos que direta ou indiretamente contribuíram para a realização deste trabalho. “As invenções são sobretudo os resultados de um trabalho teimoso” Alberto Santos Dumont ( 1873-1932) {inventor do avião e do relógio de pulso} RESUMO Nas últimas décadas, o constante avanço na área de Tecnologia da Informação (TI) tem viabilizado o armazenamento de grandes quantidades de dados. Viabilidade fornecida pelo baixo custo de dispositivos de armazenando, fácil acesso à Internet, existência de sistemas de informação e de ferramentas de gerenciamento. Com essa explosão no volume de dados, surge a necessidade de novas pesquisas para encontrar formas eficazes e inteligentes na busca de informações úteis. A mineração de dados é uma área de pesquisa que tem contribuído na busca de conhecimentos implícitos que possam dar suporte à tomada de decisão. Na verdade, a mineração de dados faz parte de uma área mais ampla que é descoberta de conhecimento em banco de dados (Knowledge Discovery in Database - KDD). O processo KDD envolve várias atividades que são divididas em três etapas principais: pré-processamento, mineração de dados e pós-processamento. Na etapa de pós-processamento, o usuário final precisa interagir com o sistema para analisar os resultados obtidos. No entanto, ainda existe dificuldade no entendimento desses resultados. A utilização de técnicas de visualização de informação tem se mostrado um meio de promover esse entendimento. Assim, este trabalho apresenta uma avaliação de técnicas de visualização de informação para representação dos resultados obtidos com a aplicação de técnicas de mineração de dados. Esta avaliação foi realizada de acordo com o método conhecido como Avaliação de Características, tendo como resultado a análise da eficácia da utilização de técnicas de visualização de informação geométricas e iconográficas, principalmente em relação aos resultados obtidos com a aplicação do algoritmo K-médias. Palavras-Chave: Descoberta de conhecimento em banco de dados. Visualização de informação. Mineração de dados. ABSTRACT In the last few decades, constant advances in the field of Information Technology (IT) have enabled the storage of large quantities of data. This has been possible to the low costs of storage devices, easy access to the Internet, and the existence of information systems and management tools. With this surge in data volume, new researches become necessary in order to find efficient and intelligent methods when searching for useful information. Data mining is an area of research that has contributed in the search for implicit knowledge that can give support to decision-making. In reality, data mining is part of a broader field, Knowledge Discovery in Database – (KDD). The KDD process involves several activities, which are divided into three main stages: data preparation, data mining and results analysis. In the results analysis stage, the final user needs to interact with the system in order to analyze the obtained results. However, there is much in difficulty in interpreting these results. The use of information visualization techniques has shown to be an effective way to promote better result interpretation. Thus, this study presents an evaluation of information visualization techniques for the display of results obtained through the application of data mining techniques. This evaluation was carried through in accordance with the known method as Evaluation of Characteristics, having as resulted the analysis of the effectiveness of the use of geometric and iconographic techniques of information visualization, mainly in relation to the results gotten with the application of the K-media algorithm. Keywords: Knowledge Discovery in Database. Information visualization. Data mining. LISTA DE ILUSTRAÇÕES Figura 1.1 – Processo de Desenvolvimento da Pesquisa ........................................................19 Figura 2.1 – Processo KDD.....................................................................................................23 Figura 2.2 – Associação entre conjunto de dados e classes ....................................................26 Figura 2.3 – Algoritmo K-médias ...........................................................................................31 Figura 2.4 – Passos de execução do algoritmo K-média.........................................................32 Figura 2.5 – Processo simplificado de visualização de informação auxiliada por computador ..................................................................................................................................................34 Figura 2.6 – Modelo de referência para visualização .............................................................35 Figura 2.7 – Exemplo de matriz de dispersão .........................................................................38 Figura 2.8 – Eixos da visualização de dispersão de dados 3D ................................................39 Figura 2.9 – Exemplo de coordenadas paralelas com dados fictícios .....................................40 Figura 2.10 – Exemplo de faces de chernoff...........................................................................41 Figura 2.11 – Exemplo de um icone da visualização Star Glyphs ..........................................42 Figura 2.12 – Exemplo da visualização de dados utilizando Star Glyphs...............................42 Figura 2.13 – Exemplo de um icone da visualização figura de aresta ....................................43 Figura 3.1 – Ser humano como elemento central do processo KDD ......................................47 Figura 4.1a – Coordenadas paralelas com 10.000 registros....................................................54 Figura 4.1b – Coordenadas paralelas com 100.000 registros..................................................54 Figura 4.2a – Dispersão de dados tridimensional com 100 registros .....................................55 Figura 4.2b – Dispersão de dados tridimensional com 1.000 registros...................................55 Figura 4.2c – Dispersão de dados tridimensional com 10.000 registros .................................55 Figura 4.3a – Faces de chernoff com 56 registros ..................................................................55 Figura 4.3b – Faces de chernoff com 169 registros ................................................................55 Figura 4.4 – Visualização Figuras de aresta (Stick figure) .....................................................56 Figura 4.5a – Coordenadas paralelas representando 100 registros com 10 atributos .............57 Figura 4.5b – Coordenadas paralelas representando 100 registros com 34 atributos .............57 Figura 4.5c – Coordenadas paralelas representando 100 registros com 100 atributos............57 Figura 4.6 – Faces de chenorff com 15 atributos ....................................................................59 Figura 4.7a – Coordenadas Star Glyphs com 10 atributos.....................................................59 Figura 4.7b – Coordenadas Star Glyphs com 30 atributos.....................................................59 Figura 4.7c – Coordenadas Star Glyphs com 80 atributos .....................................................59 Figura 4.7d – Coordenadas Star Glyphs com 500 atributos...................................................59 Figura 4.8 – Coordenadas Star Glyphs com 500 atributos.....................................................61 Figura 4.9 – Matriz dispersão de dado representando a base de dados “mtcars”....................64 Figura 4.10 – Coordenadas paralelas representado base de dados “mtcars”...........................65 Figura 4.11 – Matriz de Dispersão – Base de dados “USarrests” ...........................................66 Figura 4.12 – Coordenadas paralelas - Base de dados “USarrests” ........................................67 Figura 4.13 – Dispersão de dados representando Correlação positiva, negativa e nula.........68 Figura 4.14 – Correlação na visualização de dispersão de dados base“USarrests” ................68 Figura 4.15 – Repr. de correlação positiva da visualização de coordenadas paralelas ...........69 Figura 4.16 – Repr. de correlação negativa da visualização de coordenadas paralelas ..........69 Figura 4.17 – Correlação e distribuição de valores em Coordenadas Paralelas......................69 Figura 5.1 – Matriz de dispersão (base de dados Uem/2005) .................................................76 Figura 5.2a – Coordenadas paralelas representando 131 registros contendo valores nulos para o atributo sexo .........................................................................................................................77 Figura 5.2b – Coordenadas paralelas representando 10 registros contendo valores nulos para o atributo sexo .........................................................................................................................77 Figura 5.3 – Star Glyph representando os candidatos aprovados............................................78 Figura 5.4 – Resultado do algoritmo K-médias ......................................................................79 Figura 5.5 – Coordenadas paralelas gerado pelo algoritmo K-means.....................................81 Figura 5.6 – Coordenadas paralelas com destaque no eixo vertical que representa o atributo redação......................................................................................................................................82 Figura 5.7 – Dispersão de dados tridimensional representado resultado do algoritmo de agrupamento da base “UEM-2005”..........................................................................................83 Figura 5.8 – Faces de chernof. Representando os Centróides dos grupos gerados pelo algoritmo K-médias ..................................................................................................................84 LISTA DE TABELAS Tabela 2.1 – Tarefas e Métodos de MD ..................................................................................29 Tabela 2.2 – Visualização de informação comparada à visualização científica......................34 Tabela 3.1 – Tipo de dados para o atributo estado civil ..........................................................48 Tabela 3.2 – Características de dados......................................................................................49 Quadro 4.1 – Classificação da informação..............................................................................60 Quadro 4.2 – Ranking dos atributos em relação à percepção .................................................61 Tabela 4.1 – Análise de características das técnicas de visualização ......................................73 LISTA DE SIGLAS KDD Knowledge Discovery in Databases MD Mineração de Dados IHC Interação Humano-Computador VDM Visual Data Mining DW Data Warehouse UEM Universidade Estadual de Maringá SUMÁRIO 1 INTRODUÇÃO ............................................................................................................................................... 16 1.1 OBJETIVOS ............................................................................................................................................... 17 1.2 JUSTIFICATIVA ....................................................................................................................................... 18 1.3 METODOLOGIA DE DESENVOLVIMENTO DA PESQUISA............................................................... 18 1.3.1 Processo de Desenvolvimento da Pesquisa .......................................................... 19 1.4 ORGANIZAÇÃO DO TRABALHO .......................................................................................................... 21 2 FUNDAMENTAÇÃO TÉORICA.................................................................................................................. 23 2.1 INTRODUÇÃO .......................................................................................................................................... 23 2.2 DESCOBERTA DE CONHECIMENTO EM BANCO DE DADOS (KDD).............................................. 23 2.3 MINERAÇÃO DE DADOS........................................................................................................................ 26 2.3.1 Tarefas de mineração de dados ............................................................................ 27 2.3.2 Técnicas de mineração de dados .......................................................................... 28 2.3.3 Algoritmo de Agrupamento.................................................................................. 30 2.4 VISUALIZAÇÃO DE INFORMAÇÃO ..................................................................................................... 34 2.4.1 Mineração Visual de Dados .................................................................................. 36 2.4.2 Técnicas de Visualização de Informação............................................................. 37 2.5 LINGUAGEM R......................................................................................................................................... 44 2.6 CONSIDERAÇÕES FINAIS...................................................................................................................... 45 3 ANÁLISE DE PARÂMETROS GERAIS PARA KDD ............................................................................... 47 3.1 INTRODUÇÃO .......................................................................................................................................... 47 3.2 FATOR HUMANO E DOMÍNIO DE APLICAÇÃO ................................................................................. 47 3.3 DOMÍNIO DE DADOS .............................................................................................................................. 48 3.4 CONSIDERAÇÕES FINAIS...................................................................................................................... 50 4 AVALIAÇÃO DE TÉCNICAS DE VISUALIZAÇÃO ................................................................................ 52 4.1 INTRODUÇÃO .......................................................................................................................................... 52 4.2 FONTES DE DADOS................................................................................................................................. 52 4.3 AVALIAÇÃO DAS CARACTERÍSTICAS ............................................................................................... 54 4.3.1 Escalabilidade ........................................................................................................ 54 4.3.2 Dimensionalidade .................................................................................................. 57 4.3.3 Tipos de dados........................................................................................................ 61 4.3.4 Interação................................................................................................................. 63 4.3.5 Interpretabilidade.................................................................................................. 65 4.3.6 Relacionamento entre os atributos....................................................................... 67 4.3.7 Correlação .............................................................................................................. 69 4.4 RESULTADOS E CONSIDERAÇÕES FINAIS .................................................................................... 72 5 APLICAÇÃO DE TÉCNICAS DE VISUALIZAÇÃO DE INFORMAÇÃO............................................. 76 5.1 VISUALIZAÇÃO DOS DADOS ORIGINAIS .......................................................................................... 76 5.2 VISUALIZAÇÃO DOS RESULTADOS DO ALGORITMO DE AGRUPAMENTO............................... 80 5.3 CONSIDERAÇÕE FINAIS ........................................................................................................................ 86 6 CONCLUSÃO E TRABALHOS FUTUROS ................................................................................................ 88 REFERÊNCIAS .................................................................................................................................................. 91 APÊNDICE A - ALGORITMOS DE AGRUPAMENTO................................................................................ 95 A.1 - ALGORITMO K-MÉDIAS EM PORTUGOL......................................................................................... 95 A.2 - FUNÇÃO DO ALGORITMO DE AGRUPAMENTO K-MÉDIA NA LINGUAGEM R........................ 96 APÊNDICE B - VISUALIZAÇÃO DE INFORMAÇÃO UTILIZANDO LINGUAGEM R........................ 98 B.1 - MATRIZ DE DISPERSÃO...................................................................................................................... 98 B.2 - DISPERSÃO DE DADOS TRIDIMENSIONAL (SCATTER PLOT 3D) ............................................... 99 B.3 - COORDENADAS PARALELAS.......................................................................................................... 101 B.4 - FACES DE CHERNOFF........................................................................................................................ 102 B.5 - STAR PLOT........................................................................................................................................... 103 16 1 INTRODUÇÃO Diante de um cenário com gigantesco acúmulo de informações, surge a necessidade de ferramentas computacionais apropriadas para gerenciar e analisar tais informações. No mundo atual vem crescendo a participação dos computadores na sociedade em vários ramos de atividades como econômica, científica, saúde e social. Existem computadores prontos para armazenar o que foi efetuado, calculado, medido e decidido. No entanto, muitas decisões são tomadas sem que haja conhecimento suficiente baseado em informações provenientes dos dados acumulados em bases de dados de sistemas transacionais. Para atender este contexto, surge uma nova área denominada Descoberta de Conhecimento em Banco de Dados (Knowledge Discovery in Databases – KDD), que é uma área da ciência da computação. A descoberta de conhecimento é caracterizada como um processo complexo que tem por objetivo extrair conhecimento em grandes volumes de dado e é composto por três etapas principais: pré-processamento, mineração de dados e pós-processamento. A etapa de pré-processamento tem como objetivo a preparação dos dados para a aplicação de técnicas de mineração de dados (MD). A etapa de mineração de dados realiza a busca efetiva por conhecimentos úteis para suporte à tomada de decisão. A etapa de pós-processamento abrange o tratamento e o entendimento dos conhecimentos obtidos na MD. Tal tratamento tem como objetivo viabilizar a avaliação da utilidade do conhecimento descoberto (FAYYAD; PIATESTKY; SHAPIRO, 1996a). Para facilitar o entendimento dos resultados da MD, é necessário o uso de técnicas de visualização de informação, que tem como objetivo possibilitar a introspecção de um conjunto de dados, fornecendo uma representação visual, evidenciando possíveis fatos dentro do contexto de investigação (RODRIGUES, 2003). É importante considerar no processo de visualização, a escolha de qual técnica deve ser empregada em determinada aplicação ou situação. O estudo de técnicas de visualização de informação em sistemas de KDD envolve as seguintes áreas: Computação Gráfica, Interface Humano-Computador, Banco de dados e MD. 17 As técnicas de visualização de informação têm por objetivo representar graficamente um determinado domínio de aplicação, de forma a explorar com alto desempenho o conhecimento deste domínio e a capacidade cognitiva do homem, facilitando a compreensão e a interpretação das informações apresentadas, na busca de novos conhecimentos. Atualmente, existe certa dificuldade no entendimento e uso do conhecimento descoberto com a aplicação de técnicas de mineração de dados. Esta dificuldade pode estar relacionada à inexistência de critérios de integração de técnicas visualização de informação com técnicas de mineração de dados. A utilização mal empregada de técnicas de visualização em qualquer etapa do processo KDD pode gerar resultados insuficientes ou até mesmo incorretos, provenientes de erros de representação gráfica. Na tentativa de sanar este tipo de problema, nesta pesquisa foi realizada a avaliação de técnicas de visualização de informação na representação de resultados obtidos com a aplicação de técnicas de agrupamento. 1.1 OBJETIVOS O objetivo geral é avaliar técnicas de visualização de informação para proporcionar, aos desenvolvedores e utilizadores de sistemas de KDD, meios eficazes para a escolha de técnicas adequadas na representação dos conhecimentos obtidos. Para atingir este objetivo, inicialmente foram identificadas características que influenciam na representação de informações. Os objetivos específicos são: • Apresentar os elementos teóricos relacionados às técnicas de mineração de dados e técnicas de visualização de informação; • Selecionar características de técnicas de visualização capazes de conduzir à escolha daquela mais adequada na representação de resultados obtidos na aplicação de técnicas de agrupamento; • Avaliar técnicas de visualização por meio das características selecionadas; • Apresentar os resultados obtidos na MD utilizando técnicas de visualização, segundo as características selecionadas. 18 1.2 JUSTIFICATIVA A busca de conhecimento em banco de dados abrange várias áreas de pesquisa, tais como: sistemas de informação, banco de dados, mineração de dados e visualização de informação. A mineração de dados, que é uma das etapas do processo KDD, utiliza vastos repositórios de dados (data warehouse - DW) para tentar descobrir se há algum conhecimento escondido entre os dados. Neste contexto, a área de visualização de informação, aliada à mineração de dados, apresenta-se como um campo de estudo de grande utilidade. Esta agregação é referenciada na literatura como mineração visual de dados (MVD), apresentada na Seção 2.4.1. A área de visualização de informação é um campo emergente de pesquisa que se preocupa com a representação de informações através de imagens gráficas, que possam ser reconhecidas e facilitem o entendimento pelos seres humanos. O emprego da visualização apropriada pode ajudar na capacidade de descoberta de padrões, relacionamento de dados ou até mesmo resultados gerados por algoritmos utilizando técnicas de mineração de dados. Porém, um mau emprego de técnicas de visualização pode comprometer o trabalho de descoberta de conhecimento. A avaliação realizada neste trabalho busca fornecer subsídios aos usuários e analistas de sistemas KDD na escolha da visualização mais adequada. A sugestão sobre qual técnica de visualização de informação utilizar na descoberta de padrões, relacionamento de dados e interpretação dos resultados gerados por algoritmos de mineração de dados, pode evitar erros na análise desses resultados. 1.3 METODOLOGIA DE DESENVOLVIMENTO DA PESQUISA Esta pesquisa pode ser classificada como aplicada com procedimentos técnicos experimentais. Menezes e Silva (2001, p. 20) classificam a pesquisa de natureza aplicada da seguinte forma: “objetiva gerar conhecimento para aplicar práticas dirigidas à solução de problemas específicos”. Do ponto de vista de procedimento técnico experimental: “determina-se um 19 objeto de estudo, selecionam-se as variáveis capazes de influenciá-lo, definem-se as formas de controle e de observação dos efeitos que a variável produz no objeto”. A metodologia adotada neste trabalho é fundamentada no estudo de diversas tecnologias, as principais são: descoberta de conhecimento em banco de dados (Knowledge Discovery in Database – KDD), mineração de dados (Data Mining - MD), técnicas de visualização de informação e linguagem R. 1.3.1 Processo de Desenvolvimento da Pesquisa As principais etapas de pesquisa desta dissertação foram: revisão da literatura versando sobre KDD, MD, algoritmos de MD, técnicas visualização; definição das características das técnicas de visualização, avaliação das técnicas de visualização utilizando as características levantadas, aplicação da técnica de visualização em conjunto com mineração de dados e resultados alcançados. A Figura 1.1 representa as etapas do processo de desenvolvimento da pesquisa. Nesta Figura, à esquerda estão relacionados às principais etapas da pesquisa e à direita os elementos envolvidos em cada etapa. Através destas etapas foi possível criar um ambiente de avaliação. 1) Revisão da Literatura A revisão da literatura englobou conceitos e características do processo KDD, mineração de dados, técnicas de visualização (projeções geométricas e iconográficas) e técnicas de interação. 2) Estudo e Seleção de Algoritmo de MD Nesta etapa foram estudados alguns algoritmos de agrupamento (K-médias, Kmedoid, entre outros) e selecionado o algoritmo K-médias, que é um algoritmo amplamente utilizado na implementação da tarefa de agrupamento. 20 Revisão da literatura KDD, MD, Técnica de visualização, Interação na visualização. Estudo e seleção de Algoritmo de MD Selecionar o algoritmo de agrupamento. (K-Médias, K-medoid Agnes, DBscan) Identificação das características Identificar características comuns a todas as técnicas de visualização de informação Estudo da ferramenta Avaliação das técnicas de visualização Uso de técnicas de visualização na MD Linguagem R Avaliação das técnicas de visualização por meio das características comuns. Mostrar o uso de técnicas de visualização de informação para representar resultados de mineração de dados Figura 1.1: Processo de Desenvolvimento da Pesquisa. 3) Identificação das características. Esta etapa visou a identificação de características relevantes das técnicas de visualização de informação, tendo como base as vantagens, desvantagens e limitações de sua utilização. Após essa identificação, foi realizado um filtro para selecionar somente as características comuns a todas as técnicas, sendo descartadas aquelas de caráter particular (característica referente somente a uma visualização). 4) Estudo de ferramentas Nesta etapa foram feitas pesquisas sobre ferramentas para manipulação de dados, que executem algoritmos de MD e projetem técnicas de visualização. 21 5) Avaliação das técnicas de visualização na MD A avaliação é a verificação da eficiência na capacidade de exibir informações realmente relevantes que facilitem a análise, interpretação e compreensão do conjunto de informações. Nesta etapa foram utilizadas as características propostas neste trabalho, selecionadas bases de dados e avaliadas as técnicas por meio de sua implementação na Linguagem R. 6) Uso de técnicas de visualização. Esta etapa consistiu nos seguintes passos: • Selecionar uma base de dados real; • Projetar a base de dados utilizando visualização de informação e elaborar algumas interpretações; • Aplicar o algoritmo de MD em bases de dados; • Apresentar o resultado do algoritmo de MD em algumas visualizações de informação, identificar padrões e interpretar os resultados; Para realização desses passos, foi utilizada a linguagem R e o resultado obtido na etapa anterior. 1.4 ORGANIZAÇÃO DO TRABALHO Além deste capítulo que apresenta a introdução, objetivos, justificativa e metodologia de desenvolvimento da pesquisa, este trabalho é dividido em mais cinco capítulos: No segundo capítulo é apresentada a fundamentação teórica dos conceitos relativos ao processo KDD, à mineração de dados, às técnicas de visualização de informação e à ferramenta utilizada. No terceiro capítulo são descritos os parâmetros gerais (fator humano e domínio de dados), necessários na realização do processo KDD. 22 No quarto capítulo é descrita a avaliação realizada sobre as técnicas de visualização de informação. No quinto capítulo é mostrado o uso de técnicas de visualização de informação na análise de dados e dos resultados obtidos na aplicação do algoritmo K-médias, conforme as características avaliadas e descritas no capítulo anterior. No sexto capítulo são apresentadas a conclusões e sugestões para trabalhos futuros. 23 2 FUNDAMENTAÇÃO TÉORICA 2.1 INTRODUÇÃO Neste capítulo são apresentados os principais conceitos teóricos necessários para o desenvolvimento deste trabalho, que são: processo KDD; mineração de dados; métodos de agrupamento e algoritmo K-médias; técnicas de visualização de informação e a linguagem R que foi a ferramenta utilizada neste trabalho. 2.2 DESCOBERTA DE CONHECIMENTO EM BANCO DE DADOS (KDD) O termo KDD foi formalizado em 1989 para atender os processos referentes à busca de conhecimento a partir de bases de dados. Uma das definições mais populares foi proposta em 1996 por um grupo de pesquisadores (FAYYAD; PIATESTKY; SMYTH, 1996b, p. 30): “KDD é um processo, de várias etapas, não trivial, interativo e iterativo, para identificação de padrões compreensíveis, válidos, novos e potencialmente úteis a partir de grandes conjuntos de dados.” O termo Interativo indica a atuação do Homem para a realização dos processos, sendo ele o responsável por utilizar as ferramentas computacionais para análise e interpretação dos dados. Para obter um resultado satisfatório, é necessário muitas vezes repetir o processo de forma integral ou parcial, ou seja, o processo é iterativo. A descoberta de conhecimento em base de dados é o processo de extração de conhecimento através de manipulação de dados. Feldens (1998 apud DIAS, 2001) define as seguintes etapas para KDD: • Pré-processamento: Atividades que visam gerar uma representação conveniente para os algoritmos de mineração, a partir da base de dados. Inclui a seleção (automática e/ou manual de atributos relevantes), amostragem, transformações de representação, etc. Goldschmidt e Passos (2005) afirmam que esta etapa possui fundamental relevância no processo KKD, e apresenta as seguintes funcionalidades para esta etapa: seleção de dados, limpeza dos dados, codificação dos dados, normalização dos dados, construção de novos atributos e correção de prevalência. 24 • Mineração de dados: Aplicação de algoritmos de mineração aos dados préprocessados, ou seja, busca efetiva por conhecimentos úteis a partir dos dados. Esta etapa é detalhada na próxima seção. • Pós-processamento: Seleção e ordenação das descobertas interessantes, mapeamentos de representação de conhecimento e geração de relatórios. É nesta etapa que o especialista em KDD e o especialista no domínio de aplicação avaliam os resultados obtidos e criam novas alternativas para novas investigações de dados. Goldschmidt e Passos (2005) apresentam algumas operações para a realização desta etapa, tais como: simplificação do modelo de conhecimento, transformação do modelo de conhecimento e organização e apresentação dos resultados. A Figura 2.1 ilustra um exemplo proposto por Fayyad, Piatestky e Smyth (1996a) que consiste em cinco passos básicos: Seleção, Pré-Processamento, Transformação, Mineração de dados e Interpretação. Figura 2.1: Processo KDD Fonte: adaptado de (FAYYAD; PIATESTKY; SMYTH, 1996b, p. 29). Seleção: os dados são escolhidos como um subconjunto de interesse, ou sumarizados em um subconjunto de amostragem. Os itens mais apropriados, segundo o analista, são escolhidos e prossegue-se com a descoberta de conhecimento. Pré-processamento: são utilizadas ferramentas para preparação dos dados visando deixá-los em um formato mais apropriado para as próximas etapas. Aqui são tratadas distorções, ausência de dados ou, simplesmente, é realizada uma reorganização das informações. 25 Transformação: os dados são processados e disponibilizados em uma forma diferente da original, mas ainda mantendo suas propriedades. O novo formato busca o melhor aproveitamento dos dados nas etapas seguintes. Como exemplo, tem-se a discretização de dados, normalização e redução de dimensionalidade. Mineração de Dados: é extraído conhecimento com o auxílio de métodos computacionais capazes de revelar padrões, estruturas, tendências, etc. Diferentes métodos podem ser usados em função da natureza dos dados e das informações que se desejam alcançar, como identificação de aglomerados, geração de resumos e classificação. Interpretação: o resultado da mineração é submetido à apreciação do analista, que pode julgar necessário refazer o processo, alterando uma ou todas as etapas anteriores. Podem ser utilizados outros conjuntos de interesse, outras técnicas de pré-processamento/transformação ou ferramentas de MD adicionais. De uma forma geral, a complexidade que envolve o processo de KDD, decorre de diversos fatores que podem ser subdivididos em dois conjuntos (FAYYAD; PIATETSKY; SMYTH, 1996b): • Fatores operacionais – dificuldade de integrar diversos algoritmos específicos, manipulação de grande base de dados e tratamento dos resultados de forma ideal. • Fator de controle – considera a complexidade de gerenciar e direcionar o processo KDD. Exemplos de dificuldades encontradas neste fator: formulação dos objetivos a serem alcançados, realização do pré-processamento, seleção do algoritmo ideal para mineração de dados que satisfaça os objetivos, limitações humanas, tais como: o capacidade limitada e memorização de resultados, pois a cada momento surgem diversos resultados diferentes; o dificuldade em interpretar resultados; o conjugar tais interpretações para tomada de decisão. Goldschmidt (2003) organiza as atividades realizadas na área KDD em três grandes grupos, que são: 26 • Atividades voltadas ao desenvolvimento tecnológico - abrange todas as iniciativas de concepção e desenvolvimento de recursos de apoio que possam ser utilizados na busca por novos conhecimentos em grandes bases de dados. • Atividades de execução de processos de KDD - refere-se às atividades voltadas à busca efetiva de conhecimento em bases de dados. As ferramentas produzidas pelas atividades de desenvolvimento tecnológico são utilizadas na execução de KDD. • Atividades envolvendo a aplicação de resultados obtidos em processos de KDD – uma vez obtidos modelos de conhecimento úteis a partir de grandes bases de dados, as atividades se voltam à aplicação dos resultados no contexto em que foi realizado o processo de KDD. Exemplos comuns de aplicação de resultados são as alterações em estratégias de negócios que tenham como objetivo procurar tirar proveito do conhecimento obtido. Tais alterações podem variar desde o posicionamento de produtos nas gôndolas de um mercado até políticas estratégicas corporativas. 2.3 MINERAÇÃO DE DADOS Conforme já citado a mineração de dados pode ser considerada como uma parte do processo de KDD. Goldschmidt e Passos (2005) afirmam que este é a principal etapa. Segundo Shimabukuru (2004), estima-se que a MD represente de 15% a 25% do processo de KDD. Nessa etapa que compreende a aplicação de algoritmo para extrair e ser capaz de identificar padrões, estruturas, tendências e revelar novidades que sejam úteis e de interesse do usuário, vários métodos podem ser usados em função da natureza dos dados e das informações que se desejam alcançar. Mineração de dados também pode ser definida como a descoberta de informações úteis a partir de um conjunto de dados. Para a obtenção dessas informações, é necessária a utilização de técnicas e tarefas de busca por relacionamentos e padrões existentes entre os dados (DIAS, 2001). Nas próximas seções são descritas resumidamente as principais tarefas e técnicas de MD. 27 2.3.1 Tarefas de mineração de dados As tarefas correspondem aos problemas que podem ser tratados pela mineração de dados. As tarefas mais comuns são: Classificação: é uma das tarefas mais importantes e populares conhecidas. Ela busca uma função que permite associar corretamente cada registro (x) (Figura 2.2) de um banco de dados a um único rótulo categórico de (y) chamado de classe. Exemplo: num levantamento de regiões com probabilidade de existência de mosquito da dengue. Sendo possível criar classes de baixa, médio e alto risco de contaminação. Exemplos (DIAS, 2001): • Classificar pedidos de crédito. • Identificar pedidos de seguros fraudulentos. • Identificar a melhor forma de tratamento de um paciente. X1 X2 X3 X4 • • • Y1 Y2 Y3 Y4 • • • Dados Classes Figura 2.2: Associação entre conjunto de dados e classes. Associação: procuram encontrar associações entre conjunto de valores. Um exemplo clássico é determinar quais produtos costumam serem colocados juntos em um carrinho de supermercado. Outra definição, “A tarefa de associação pode ser considerada uma tarefa bem definida, determinística e relativamente simples, que não envolve predição da mesma forma que a tarefa de classificação” (FREITAS, 2000 apud DIAS, 2000, p. 10). Exemplo: determinar quais produtos geralmente são colocados juntos em um carrinho de supermercado. Regressão: esta tarefa é similar à tarefa de classificação. Fundamentalmente ela busca por funções que mapeiem os registros de um banco de dados. Exemplos (DIAS, 2001): 28 • estimativa da probabilidade de um paciente sobreviver, dado o resultado de um conjunto de diagnóstico de exames; • definição do limite do cartão de crédito para cada cliente em um banco; • estimativa do número de filhos ou a renda total de uma família; • previsão da demanda de um consumidor para um novo produto. Agrupamento: Usado para particionar os registros de uma base de dados em subconjuntos ou clusters1. Nesta tarefa, não há classes predefinidas, os registros são agrupados segundo algum critério de semelhança. Exemplos (DIAS, 2001): • agrupar clientes por região do país; • agrupar clientes com comportamento de compra similar; • agrupar seções de usuários Web para prever comportamento futuro de usuário. Sumarização: consiste em identificar e apresentar, de forma concisa e compreensível, as principais características dos dados em um conjunto de dados (DIAS, 2001). Exemplo: identificar as características dos candidatos de um concurso público: São pessoas com faixa etária entre X e Y anos, possuem casa própria e nível superior completo. Exemplos: • tabular o significado e desvios padrão para todos os itens de dados; • derivar regras de síntese. Após a seleção de qual tarefa utilizar, deve-se também escolher o algoritmo, pois para cada tarefa existem diferentes algoritmos, alguns simples e outros mais sofisticados, como os algoritmos que utilizam redes neurais. 2.3.2 Técnicas de mineração de dados As tarefas de mineração de dados são desempenhadas por técnicas de mineração de dados e diferentes técnicas servem para diferentes propósitos (HARRISON, 1998). A seguir são descritas de forma sucinta as técnicas de mineração de dados normalmente utilizadas: Descoberta de Regras de Associação – introduzida por Agrawal, Imielinski e Swamil (1993), identifica conjuntos de itens que ocorrem simultaneamente e de forma freqüente em 1 cluster é um grupo de entidades que têm características similares e que compartilham certas propriedades. 29 banco de dados, esta técnica estabelece uma correlação estatística entre os itens de dados (GOEBEL; GRUENWALD, 1999). Existem diversos algoritmos desenvolvidos para aplicação de descoberta de regras de associação, dentre eles (GOLDSCHMIDT; PASSOS, 2005): Apriori, DHP (Direct Hashing and Pruning, Partiition, DIC ( Dynamic Itemset Counting), Eclat, Maxclique e Cumalte. Árvores de Decisão – Técnica que utiliza a recursividade para particionamento da base de dados na construção de uma árvore de decisão. Cada nó não terminal desta árvore representa um teste ou decisão sobre o item de dado (GOEBEL;GRUENWALD, 1999). Os algoritmos que implementam esta técnica são: CART, CHAID, C5.0, Quest, ID-3, SLIQ, SPRINT (DIAS, 2001). Raciocínio Baseado em Casos – Procura solucionar problemas fazendo uso direto de experiências e soluções passadas, a distância dos vizinhos dá uma medida da exatidão dos resultados (DIAS, 2001). Algoritmos que implementam esta técnica: BIRCH, CLIQUE. Algoritmos Genéticos – Muito útil para problemas que envolve otimização (GOLDSCHMIDT; PASSOS, 2005). Procedimento interativo para construção de hipóteses sobre a depedencia entre as variáveis (GOEBEL; GRUENWALD, 1999). Algoritmos que implementam esta técnica (DIAS, 2001): Algoritmo Genético Simples, CHC, Algoritmo de Hillis, GA-Nuggets, GA-PVMINER. Redes Neurais Artificiais – segue analogia do funcionamento de um cérebro humano formando neurônios artificiais conectados (GOEBEL; GRUENWALD, 1999). As redes neurais não supervisionados são os mais adequados para realização tas tarefas de agrupamento (GOLDSCHMIDT; PASSOS, 2005). Algoritmos desenvolvidos para estas técnicas: Perceptron, Rede MLP, Rede Hopfield, Rede BAM, Redes ART, Rede IAC, Rede LVQ, Rede Counterpropagation, Rede RBF, Rede PNN, Rede Time Delay, Neocognitron, Rede BSB (DIAS, 2001). Goldschmidt e Passos (2005) apresentam um resumo das tarefas de KDD de acordo com as técnicas e algoritmos, Tabela 2.1: 30 Tarefas Métodos de MD Associação Basic, Apriori, DHP, Partition, DIC, ASCX-2P Classificação Redes neurais: C4.5, Rough sets, algortimo genéticos (Ex: Rule Evolver), Cart, K-NN, Classificadores Bayesianos. Regressão Redes Neurais (Ex: Back Propagation). Sumarização C4.5, Algoritmo Genético (Ex: Rule Evolver) Agrupamento K-Means, K-Modes, K-Prototypes, Fuzzy K-Means, Algoritmo Genéticos, Redes Neurais (Ex: Kohonen), Clarans. Tabela 2.1: Tarefas e Métodos de MD Fonte: Adaptado de (GOLDSCHMIDT; PASSOS, 2005, p.116). 2.3.3 Algoritmo de Agrupamento Técnicas de agrupamento são empregadas para dividir os registros de uma base em subconjuntos, de tal forma que os registros que compartilham o conjunto tenham similaridades entre si e sejam distintos dos registros armazenados em outros conjuntos. As medidas de similaridades são pré-estabelecidas. Definição formal para agrupamento não fuzzy de acordo com Hruschka e Ebecken (2003), determina que um conjunto com n registros X = {X1, X2, ..., Xn}, onde Xi ∈ ℜp é um vetor de dimensão p que pode ser agrupado em k subconjuntos disjuntos C={C1,C2,....,CK}, desde que as seguintes condições sejam respeitadas: A união dos subconjuntos forma o conjunto original - C1 ∪ C2 ∪ C3 ... ∪ Ck = X. Um registro não pode pertencer a mais de um subconjunto - Ci ∩ Cj = {}, ∀ i ≠ j, 1≤ i ≤ k e 1≤ j ≤ k. Cada subconjunto deve ter ao menos um objeto - Ci ≠ {}, ∀ i, 1≤ i ≤ k. Um algoritmo ideal que implementa a tarefa de agrupamento deve ser capaz de lidar com os atributos categóricos, numéricos e ordinais. Quando o algoritmo não atende a estes requisitos é necessário efetuar uma codificação de dados2. 2 Codificação de dados: operação de pré-processamento responsável pela forma como os dados serão representados durante o processo KDD (GOLDSCHMIDT; PASSOS ,2005). 31 Para análise de agrupamento existem diferentes critérios que medem a similaridade entre os registros, porém, para realização deste trabalho foi utilizado o método de agrupamento onde a distância entre dois registros é expressa pela distância euclidiana na seguinte fórmula: Sendo, • d - resultado do cálculo (distância); • i , j – representam os dois registros selecionados; • p – número de variáveis (dimensão); Não é somente o método que calcula a distância entre registros que diferenciam os algoritmos de agrupamento, eles também podem ser diferenciados de acordo com o método de formação, tais como: (Partição, Hierárquico, Baseado em modelo, Baseado em Grade e Baseado em Densidade). Este trabalho trata somente do algoritmo que utiliza o método de partição (Kmédias). O método de partição permite que os registros em análise sejam movidos de um grupo para outro grupo em diferentes etapas que ocorrem no processamento do algoritmo, na tentativa de buscar de forma direta a divisão aproximadamente ótima dos registros. De acordo com Goldschmidt e Passos (2005), o algoritmo mais popular para realização da tarefa de agrupamento é o K-médias proposto em 1967 por J. MacQueen (DINIZ; LOUZADA NETO, 2000 apud PRASS 2004, p. 38) que utiliza o método de partição. Este Algoritmo possui diversas variações, tais como: K-modes, K-Prototypes e Kmedoids. Em geral estas variações diferem no cálculo da similaridade entre os grupos encontrados e o elemento ou na estratégia para calcular a média dos grupos. O algoritmo K-médias faz uso de dados numéricos, selecionando k elementos para formação inicial dos centróides (elementos centrais) do grupo. Esta seleção pode ser realizada das seguintes formas: • Selecionando randomicamente k elementos. • Selecionando os k primeiros elementos. • Selecionar k elementos de tal forma que seus valores sejam bem diferentes. 32 Após a seleção dos centróides, é calculada a distância de cada elemento (registro da base) em relação aos centróides, sendo considerada a menor distância encontrada para efetuar o agrupamento. O processo termina somente quando todos os elementos estejam agrupados. A Figura 2.3 apresenta um resumo do funcionamento do algoritmo K-médias: Escolher k-centróides Calcular distância dos grupos Selecionar a menor distância Atribuir objeto ao grupos Atualizar grupos Sim Houve mudança na configuração dos grupos ? Não Apresentar grupos Figura 2.3: Algoritmo K-médias Fonte: Goldschmidt e Passos (2005, p. 104) A Figura 2.4 mostra um exemplo da execução do algoritmo de agrupamento K-médias, formando dois grupos, com os seguintes elementos: (4,7,8,2,5,3,9). Para definição dos centróides, podem ser utilizados os critérios citados acima, porém neste exemplo foram selecionados os dois primeiros elementos e, posteriormente, utilizou-se a média para a formação dos novos centróides. 33 b) a) c) {8,2,5,3,9} grupo 1 (4) grupo2 (7) {2,3,4,9} grupo 1 (4) grupo 2 (7, 8) {5,3,9} grupo 1 (4,2) grupo 2 (7,8) Centróide - 1 (4) Centróide - 2 (7) Centróide - 1 (4) Centróide - 2 (7,5) Centróide - 1 (3) Centróide - 2 (7,5) d) e) f) {3,9} grupo 1 (4,2,5) grupo 2 (7,8) {9} grupo1(4,2,5,3) grupo2(7,8) {} grupo1(4,2,5,3)grupo2(7,8,9) Centróide - 1 (3,6) Centróide - 2 (7,5) Centróide - 1 (3,5) Centróide - 2 (7,5) Centróide - 1 (3,5) Centróide - 2 (8) Figura 2.4: Passos de execução do algoritmo k-média. Descrição dos passos da execução do algoritmo K-médias da Figura 2.4: • Os dois primeiros elementos do conjunto formaram dois grupos e foram utilizados como centróides. • O próximo elemento é selecionado e verifica-se qual centróide tem o valor mais próximo ao seu valor, o elemento é adicionado ao grupo e é calculado o novo valor para o centróide, assim por diante. • Esgotados os elementos, termina-se o processo. • Resultado: grupo 1 com os seguintes elementos (4,2,5,3) – grupo 2 com os seguintes elementos (7,8,9). Este algoritmo apresenta atributos confiáveis, porém foram identificados os seguintes problemas: • Não consegue determinar se há realmente apenas k grupos distintos (PINHEIRO, 2006) (este problema é comum a todos algoritmos de agrupamento). • O fato do usuário ter que especificar o número de grupos é visto como uma desvantagem, sendo necessária a realização de diversos experimentos (GOLDSCHMIDT; PASSOS, 2005). • É sensível a ruídos (outliers), já que pequena quantidade de dados inconsistentes ou diferentes, em relação ao conjunto de dados formado, pode influenciar substancialmente na formação dos grupos (CARLANTONIO, 2001). 34 • Não é adequado para descobrir grupos com tamanhos muitos diferentes (CARLANTONIO, 2001). • Exige que os dados sejam do tipo numérico ou binário (HUANG, 1997). 2.4 VISUALIZAÇÃO DE INFORMAÇÃO No mundo contemporâneo, a facilidade de coletar e armazenar informações se tornou uma tarefa de certo modo “trivial”, mas quando se trata de extrair conhecimentos em grandes bases de dados esta tarefa torna-se complexa. Desta forma muitos pesquisadores têm se motivado a descobrir recursos, métodos e técnicas para facilitar a descoberta de conhecimento e, também, o entendimento desses conhecimentos. As técnicas de visualização de informação podem ser usadas para facilitar esse entendimento. Elas baseiam-se na capacidade humana de percepção e cognição. A interação do ser humano faz parte do processo que envolve visualização de informação. O sistema de percepção humano analisa eventos complexos com rapidez, reconhece automaticamente propriedades não usuais e, ao mesmo tempo, desconsidera propriedades sem interesse. Combinando aspectos de computação gráfica, interação humano-computador (IHC) e mineração de dados, é possível criar um modelo de visualização de informação em modo gráfico para que o usuário, utilizando sua visão, consiga interpretar as informações de forma rápida. Não tendo o mesmo efeito se fosse apresentado no formato original (tabelas). Na literatura foram encontrados dois ramos que tratam as visualizações de informação: visualização de dados científicos e visualização de informação (RODRIGUES, 2003). A Tabela 2.2 ilustra as diferenças entre os parâmetros das técnicas de visualização de informação e cientifica. Visualização cientifica Usuário Tarefa Entrada Volume Especializado, Profundo entendimento Dados físicos, medidas, Pequeno a volumoso altamente técnico dos fenômenos resultados de simulação científicos Visualização de Usuário comum, Busca, descoberta de Relações, dados não- informação especializado e relações físicos, informação Pequeno a volumoso altamente técnico Tabela 2.2: Visualização de informação comparada à visualização científica. Fonte: adaptado de (GERSHON E EICK, 1997, p.29) 35 Visualização de dados científicos que provem de dados que correspondem a medidas associadas a objetos físicos, fenômenos ou posição num domínio espacial. Um exemplo desta visualização poderia ser um fluxo de ar sobre as asas de um avião, tendo informações no formato de vetores 3D amostrado periodicamente em um experimento aeronáutico, sendo este fenômeno representado através de flechas que indicam a direção do fluxo de ar posicionado em relação às asas do avião. Visualização de informações procura representar graficamente dados de um determinado domínio de aplicação. Exemplo deste tipo é uma base de dados de pacientes de um hospital, com nome, sexo e número de internações e consultas, data de nascimento e naturalidade. Estes dados são considerados abstratos e necessita de um mapeamento para representação gráfica, assim poderá ser revelada informação interessante para um determinado propósito. A Figura 2.5 demonstra um processo automatizado de visualização de informação. Figura 2.5: Adaptação do processo simplificado de visualização de informações auxiliada por computador. Fonte: Nascimento e Ferreira (2005, p. 1268). Embora a visualização de dados científicos seja uma área muito interessante, o foco desta proposta está na realização de visualização de informações de dados abstratos. Entretanto, Rhyne (2003 apud SHIMABUKURU, 2004, p.12) questionam a necessidade de diferenciação entre visualização científica e de informação em virtude do uso intercambiado das técnicas de visualização, particularmente em domínios emergentes, como visualização geográfica e visualização em bioinformática. A Figura 2.6 exibe graficamente um modelo de referência para desenvolvimento de sistemas de visualização de informação. A direção das setas da esquerda para direita representa a transformação dos dados brutos em transformações visuais para interpretação humana. As 36 setas da direita para esquerda representam a modificação de cada etapa das transformações e do mapeamento visual realizado pelo ser humano. Figura 2.6: Modelo de referência para visualização Fonte: Adaptado (CARD; MACKINLAY, 1999, p.232). 2.4.1 Mineração Visual de Dados A integração de técnicas de mineração de dados e visualização de informação é referenciada na literatura como mineração visual de dados (Visual Data Mining - VDM), ocorrendo um balanceamento entre o processo automático e o interativo (WONG, 1999; KEIM, 2002; SHIMABUKURU, 2004). A Mineração Visual de Dados aproxima o usuário e o processo de descoberta de conhecimento em termos de técnicas de visualização eficientes, capacidade de interação e transferência de conhecimento. A visualização de informação não é capaz de substituir as técnicas convencionais de MD, mas existem possibilidades únicas que não podem ser desprezadas, ou seja, as duas técnicas unidas podem potencializar enormemente a exploração de informação, observando que a utilização intercalada pode causar penalidades relativas às deficiências e limitações de cada uma (WONG, 1999). O mesmo autor define duas formas de integração das técnicas de visualização, que são: • Acoplamento forte, onde a visualização e o processo analítico são integrados em uma única ferramenta, aproveitando os pontos fortes de cada uma das áreas. • Acoplamento fraco, onde as áreas são simplesmente intercaladas, possibilitando um aproveitamento parcial do potencial de cada uma delas no uso em conjunto. De acordo com Han e Kamber (2000 apud BARIONI, 2002, p. 22), a visualização e mineração de dados são processos que podem ser integrados das seguintes formas: 37 • Dados armazenados em banco de dados podem ser visualizados sob diferentes níveis de abstração, podendo ser utilizadas diferentes combinações de atributos. As formas visuais utilizadas podem ser cubos 3D, curvas, superfícies, grafos ligados e outras. • Os resultados da mineração de dados podem ser visualizados por meio de formas visuais. • Visualizar as etapas do KDD de forma que o usuário possa acompanhar o processo desde a extração dos dados até a apresentação do resultado. • Mineração de dados visual (VDM – Visual Data Mining): Ferramentas de visualização de informação podem ser utilizadas tanto para extrair conhecimentos quanto para a análise dos resultados obtidos com a aplicação de alguma técnica de mineração de dados. Em casos que envolvem grande volume de dados, o usuário pode selecionar porções da base de dados de interesse utilizando técnicas de visualização de informação, diminuindo assim a árdua tarefa exercida no entendimento dos resultados de MD para grande volume de dados. 2.4.2 Técnicas de Visualização de Informação As técnicas de visualização de informação podem ser utilizadas como mecanismos que auxiliam a compreensão dos resultados da mineração de dados. A seguir são descritas as técnicas de visualizações de informação selecionadas. Antes, porém, são feitos alguns comentários relativos ao conceito de foco/contexto e de técnicas de interação (RUSSO; GROS; ABEL, 1999; NASCIMENTO; FERREIRA, 2005). O conceito foco\contexto apresenta uma visão geral dos dados a serem visualizados, mas destacando uma região de interesse (foco) através de uma ampliação. Exemplos de técnica que utilizam estes conceitos: Fish-eye e Browser Hiperbólico. o Fish-eye - consiste numa representação de uma lente que aumenta os objetos que estão próximos, enquanto mostra os objetos circundantes com menos detalhes. o Browser Hiperbólico – utilizado nas técnicas de visualização que representam árvores, auxiliando a exploração das hierarquias. 38 As técnicas de interação têm o intuito de facilitar o processo de compreensão dos dados, auxiliando o usuário na exploração e criando outras possibilidades de visualização. A Figura 2.6 apresenta um modelo de visualização de informação que permite a inserção do humano na transformação dos dados, no mapeamento visual e na transformação das visões. As técnicas de interação que podem ser utilizadas em técnicas de visualização são as seguintes: • Projeção interativa: redefine as projeções dinâmicas geradas a partir de um conjunto multidimensional. • Filtragem interativa: o usuário filtra a porção de dados mais interessante e efetua comparações entre as mesmas. • Zoom interativo: possibilidade de expandir ou diminuir os elementos de visualização. • Distorção interativa: é a deformação dos elementos visuais de maneira que as propriedades visuais não sejam perdidas. Concluindo, a visualização de informação, além de transmitir conhecimentos, tem um grande potencial para receber comandos, tais como, por exemplo: controlar a quantidade de dados na tela, alterar a representação da visualização e ajustar escalas. Keim e Kriegel (1996) descrevem técnicas de visualização de informação multidimensional agrupando-as nas categorias de técnicas geométricas, iconográficas, hierárquicas e orientadas a pixel. No entanto, neste trabalho foram utilizadas somente as visualizações pertencentes às técnicas de visualização de informação geométricas e iconográficas, que se demonstrou adequada para projeção do resultado do algoritmo de agrupamento. Essas técnicas são descritas a seguir. a) Técnicas de Projeções Geométricas As visualizações existentes nessa técnica tentam gerar projeções bidimensional e tridimensional em base de dados multidimensionais, com intuito de revelar informações de interesse. Dentre estas técnicas encontram-se: matriz de dispersão, gráfico de dispersão de dados em três dimensões (Scatter plot 3D) e coordenadas paralelas. 39 Matriz de Dispersão Esta visualização é a mais antiga, popular e muito utilizada para representação de dados de alta dimensionalidade em uma representação bidimensional (SHIMABUKURU, 2004; NASCIMENTO; FERREIRA, 2005). A matriz de dispersão permite a visualização do relacionamento entre os atributos. Para isto, esta visualização projeta os atributos aos pares formando células associadas a dois atributos que são mapeados pelo eixo x (linha horizontal) e eixo y (linha vertical), conforme é ilustrado na Figura 2.7, que foi gerada com auxílio da linguagem R (ferramenta discutida mais adiante). Para a projeção da visualização da matriz de dispersão são necessárias n(n-1)/2 células para representar uma base de dados com “n” atributos. Figura 2.7: Exemplo de matriz de dispersão - (linguagem R) 40 Gráfico de Dispersão de Dados 3D - (Scatter Plot 3d) Esta visualização consiste em projetar registros de uma base de dados representados por pontos num plano e os atributos representados por eixos. sendo a posição dos pontos dependente dos eixos que formam as dimensões da visualização (KOSARA; SAHLING; HAUSER, 2004). Gráfico de dispersão de dados é uma visualização popular e muito conhecida utilizada para mapear dados multidimensionais utilizando coordenadas (FEKETE; PLAISANT, 2002). Esta visualização em três dimensões projeta, num espaço tridimensional, o relacionamento de três atributos da base de dados, representado pelas coordenadas X, Y e Z, conforme ilustrado na Figura 2.8. Um dos intuitos desta visualização é revelar os dados de maneira experimental a fim de determinar os pontos de concordância (KOSARA; SAHLING; HAUSER, 2004). Este método gráfico é muito eficiente para determinar se existe uma relação, padrão ou tendência entre variáveis. Esta visualização permite a inserção de propriedades visuais (cor, tamanho, forma, orientação e etc...), aumentando desta forma o número de atributos que podem ser representados. Figura 2.8: Eixos da visualização de dispersão de dados 3D - os registros são representados pelas esferas. 41 Coordenadas Paralelas A visualização de Coordenadas Paralelas, proposta por Inselberg e Dimsdale (1990), consiste em mapear um espaço n-dimensional em uma estrutura bidimensional que utiliza n eixos eqüidistantes denominados coordenadas (BENDIX; KOSARA; HAUSER, 2005; NASCIMENTO; FERREIRA, 2005). Os eixos verticais representam as dimensões ou atributos de dados. Uma linha representa cada item de dado conectado aos eixos com os seus respectivos valores, permitindo a visão de padrões, conforme ilustrado na Figura 2.9. Os eixos verticais são padronizados em uma escala que varia do menor ao maior valor do atributo. Para representar uma base de dados com x atributos, x = (x1 ,x2 ,...,xn ), necessita-se a mesma quantidade de coordenadas, isto é, a representação de x1 na coordenada 1, x2 na coordenada 2 e assim por diante até a representação de xn na coordenada n. Uma vantagem desta visualização de informação é a representação de todos os atributos em uma mesma visualização, permitindo fazer interpretações visuais entre os atributos, exemplo: a visualização da Figura 2.9 permite observar que a maioria das pessoas relacionadas tem aproximadamente 30 anos, sendo a maior parte delas do sexo feminino, residentes na zona 7 e que obtiveram notas próximas a 10,0. Ana Maria Acima João 60 Ricardo 50 Paula M 40 Kátia F Zona 5 10, Centro 7,5 Aeroporto 5,0 30 Carla Flavia 2,5 Zona 7 20 Nome Idade 0 Sexo Bairro Nota Figura 2.9: Exemplo de Coordenadas Paralelas com dados fictícios. 42 b) Técnicas Iconográficas Estas técnicas trabalham com objetos geométricos com aparência paramétrica que podem ser mapeados a atributos de uma base de dados (ESTIVALET; FREITAS, 2000). A idéia é mostrar as características essenciais de um domínio de dados, por meio de ícones. Elas também são utilizadas para representações multidimensionais e podem ser compostas por atributos geométricos (forma, tamanho e orientação) e atributos de aparência (cor e textura), que podem ser associados aos itens de dados em análise. Algumas das visualizações classificadas como técnicas iconográficas são: Faces de Chernoff, Star Glyphs e Figura de Arestas (Stick Figure). Faces de Chernoff Um dos primeiros trabalhos utilizando uma técnica baseada em ícones foi realizado por Chernoff (1973). Este autor observou que o ser humano tem sensibilidade a uma grande variedade de expressões faciais. Assim, ele sugeriu que ícones pudessem ser representados por faces, associando suas propriedades (tais como as formas da boca, cabelo e olhos) com atributo de dados. Este tipo de visualização é denominado Faces de Chernoff. A Figura 2.10 mostra um exemplo de representação de Faces de Chernoff, que representam uma base de dados contendo notas dos alunos de uma escola. São exemplos do mapeamento de propriedades do ícone com os atributos da base de dados: • cores das faces associadas ao sexo (azul-masculino ou rosa-feminino); • a curva da boca representando a situação (aprovado e reprovado); • a quantidade de cabelos representando o valor das notas. Figura 2.10: Exemplo de Faces de Chernoff Fonte: adaptado de (NASCIMENTO; FERREIRA , 2005, p. 1268). 43 Star Glyphs Star Glyphs é uma visualização que combina coordenadas paralelas com ícones (LEE; REILLY; BUTAVICIUS, 2003). Esta visualização consiste na representação de p ≥ 2 atributos projetados em duas dimensões. Um círculo é construído para servir como referência e do seu centro são projetadas linhas que representam os p atributos que emanam como raios formando uma estrela, como é ilustrado na Figura 2.11. Para uma melhor observação, os raios são conectados com uma linha. O tamanho do raio representa o valor do atributo. (JOHNSON; WICHNER, 1982; NASCIMENTO; FERREIRA, 2005). Figura 2.11: Exemplo de um ícone da visualização Star Glyphs. A Figura 2.12 ilustra a visualização “Star Glyphs” representando a quantidade de atividades acadêmicas de um grupo de professores. Cada estrela representa um professor, sendo os raios as diferentes atividades acadêmicas que ele realiza. A extensão do raio ilustra a quantidade da atividade. Por meio desta visualização é possível verificar quais professores têm um maior ou menor destaque, ou seja, realizam maior número ou menor número de atividades. Figura 2.12: Exemplo da visualização de dados utilizando Star Glyphs. Fonte: Nascimento e Ferreira (2005, p. 1301). 44 Figura de Arestas (Stick Figure) Consiste em segmentos de linhas denominados ramos que possuem três parâmetros: ângulo, intensidade e comprimento. Estes parâmetros podem ser utilizados para representar os atributos de dados. As ligações dos ramos formam um ícone. A Figura 2.13 ilustra um exemplo de ícone da visualização Figura de Arestas. Figura 2.13: Exemplo de um ícone da visualização figura de arestas. 2.5 LINGUAGEM R Foi necessário pesquisar ferramentas para auxiliar na avaliação das técnicas de visualização, considerando a capacidade de exibir informações que facilitem a análise, interpretação e compreensão de um conjunto de informações. Durante o desenvolvimento da pesquisa, verificou-se que as ferramentas avaliadas eram muito específicas para resolução de determinados problemas e que para cada avaliação necessitaria usar uma nova ferramenta ou tentar adaptar uma já conhecida, tornando o trabalho dispendioso. Outra questão levada em consideração na escolha da ferramenta de visualização foi o fato das informações serem resultados da aplicação de algoritmos de mineração de dados. Seguindo este raciocínio, a Linguagem R foi escolhida por fornecer tanto funções que implementam algoritmos de mineração de dados quanto a possibilidade de geração de visualizações. R é uma linguagem de programação especializada em computação com dados e ao mesmo tempo um ambiente para cálculos estatísticos e gerador de gráficos. Trata-se de uma 45 linguagem gratuita sob os termos da Licença Pública Geral GNU 3, criada por Ross Ihaka e Robert Gentleman na universidade de Auckland em Nova Zelândia e atualmente mantida pela comunidade de desenvolvedores espalhada pelo mundo (THE R, 2007). A linguagem R, como qualquer outra linguagem de programação, permite a criação de novas funcionalidades utilizando a linguagem C. Isto é, tem seu código fonte aberto que pode ser estendido para outras linguagens de programação (Python, Perl e Java). Além disso, é possível inserir funcionalidades da linguagem R em programas escritos em outras linguagens, fazendo com que diferentes linguagens possam utilizar o seu poder estatístico e de geração de gráficos. A instalação da linguagem R fornece um conjunto de pacotes (julgados pela sua importância ou de uso comum) que são carregados quando a sua execução. Esses pacotes contêm as funcionalidades que foram desenvolvidas e disponibilizadas para a comunidade, porém, para realização deste trabalho foi necessária a utilização de outros pacotes que não estão presentes na instalação da linguagem. Geralmente, os algoritmos de mineração de dados geram resultados que necessitam de interpretação. Para que esses resultados sejam projetados, é necessário adaptá-los aos formatos dos parâmetros de entrada da funcionalidade de geração de visualização. A linguagem R contém diversos pacotes, dentre eles: manipulação de dados, algoritmo de MD e técnicas de visualização. Apesar de não existirem ligações entre as funções existentes nos pacotes (por este motivo, a necessidade de adaptação para realizar a comunicação entre as funções), todo o trabalho é realizado num mesmo ambiente. O termo “ambiente” refere-se à categorização de R como um sistema planejado e coerente, em vez de uma aglomeração de ferramentas específicas. 2.6 CONSIDERAÇÕES FINAIS Analisando os diferentes objetivos dos algoritmos para executar as tarefas de mineração de dados, pode-se concluir que seus resultados podem colaborar em diversos domínios de 3 A GNU (Licença Pública Geral) - Garante a liberdade de compartilhamento e alteração de software de livre distribuição. 46 aplicação. No entanto, o uso desses algoritmos ainda requer mais aperfeiçoamento, pois muitas vezes o usuário necessita repetir o mesmo processo com parâmetros diferentes que não podem ser alterados no meio da execução. Isto pode ocorrer por falta ou uso inadequado de ferramentas de visualização de informação. O uso adequado de técnicas de visualização de informação pode diminuir esta quantidade de ciclos de tentativas e erros. O entendimento dos processos KDD (conceitos básicos e técnicas) fornece subsídio para identificação das etapas nas quais é possível inserir técnicas de visualização de informação, por exemplo: selecionar uma visualização adequada à etapa de pré-processamento com o objetivo de facilitar a eliminação de redundância, correção de erros e verificação de valores ausentes. Neste capítulo foram apresentados conceitos referentes às áreas de descoberta de conhecimento em banco de dados e mineração de dados e algumas visualizações de informação, classificadas como técnicas de projeção geométricas e técnicas iconográficas, utilizadas na avaliação proposta neste trabalho. Além disso, foi descrita sucintamente a Linguagem R que propiciou esta avaliação. 47 3 ANÁLISE DE PARÂMETROS GERAIS PARA KDD 3.1 INTRODUÇÃO De acordo com Fayyad, Piatestky e Smyth (1996a), para cada etapa do processo KDD (préprocessamento, mineração de dados e pós-processamento), existem várias opções que podem ser selecionadas. Essas opções estão relacionadas a fator humano, domínio de aplicação e domínio de dados. Assim, neste capítulo é apresentada uma discussão sobre estes fatores. 3.2 FATOR HUMANO E DOMÍNIO DE APLICAÇÃO A presença humana na escolha e combinação das opções de cada etapa do processo KDD é essencial devido, principalmente, a sua intuição, experiência anterior e conhecimentos para analisar, interpretar, direcionar e combinar estratégias a serem realizadas. Fayyad, Piatestky e Smyth (1996a) e Goldschmidt e Passos (2005) consideram o especialista no domínio de aplicação como um dos principais componentes necessários para melhor compreensão do processo KDD. Goebel e Gruenwald (1999) relacionam fatores humanos necessários a cada etapa do processo KDD. Eles são classificados como: especialista em mineração de dados, em KDD, no domínio da aplicação e usuários finais (engenheiros, gerentes, administradores, etc.). Obviamente a existência de profissionais diferentes nestes estágios exige demandas diferentes e trazem pré-requisitos diferentes. Geralmente, os usuários finais não têm capacidade de efetuar uma análise complexa nos dados, mas naturalmente eles têm um grande conhecimento do domínio da aplicação. De forma geral, é o ser humano que executa a difícil tarefa de orientar e executar o processo KDD, conforme ilustrado na Figura 3.1. Goldschmidt e Passos (2005) apresentam o especialista em KDD como pessoa ou grupo de pessoas experientes para direcionar a execução do processo, que define o que, como e quando deve ser realizada cada ação. O especialista em KDD interage com o especialista no domínio de aplicação. 48 Meta Insight Consultas Banco de dados Analise e Visualização Dados processados Apresentação Saídas Figura 3.1: Ser humano como elemento central do processo de KDD. Fonte: Adaptado de (GOLDSCHMIDT; PASSOS, 2005, p. 22). Mesmo que o processo KDD seja automatizado, o fator humano é essencial para o sucesso de sua realização, porque é ele que tem a compreensão do domínio dos dados (natureza, forma e conteúdo), sendo pré-requisito indispensável na abstração de qualquer conhecimento útil. Na etapa de pré-processamento, por exemplo, é necessário o conhecimento sobre o domínio da aplicação e domínio de dados para facilitar a organização, limpeza e seleção do conjunto de dados. 3.3 DOMÍNIO DE DADOS Um exemplo sobre a necessidade do conhecimento do domínio de dados é o fato de não ser possível fazer uma classificação utilizando somente o tipo de dados que foi determinado para o atributo (integer, float, string, char, boolean e etc), pois é necessário ter o conhecimento do seu valor. Este é o caso do atributo que representa o estado civil, onde pode não existir um padrão do tipo de dado que deve ser utilizado, podendo ser representado de várias formas, conforme a Tabela 3.1 abaixo: 49 Tipo de dados Atributo Integer Char String Solteiro 0 ‘S’ ‘solteiro’ Casado 1 ‘C’ ‘casado’ Viúvo 2 ‘V’ ‘viuvo’ Divorciado 3 ‘D’ ‘divorciado’ Tabela 3.1: Tipo de dados para o atributo estado civil. O valor do atributo pode ser representado por dois tipos de dados (qualitativo e quantitativo), encontrados na maioria dos repositórios de dados de um sistema de informação. Os dados quantitativos são representados por valores numéricos que podem ser de duas naturezas: discreta ou contínua. Os valores de natureza discreta referem-se às contagens, por exemplo: número de acidentes com veículos registrados por mês. Os valores de natureza contínua referem-se às representações em escala, por exemplo: área, volume, peso e velocidade. Os dados qualitativos são utilizados para nomear e atribuir rótulos, identificando característica, qualidade e categoria do atributo, podem ser de natureza nominal ou ordinal. Não há uma ordenação nos valores de natureza nominal, desta forma só é possível definir uma relação de igualdade ou diferença, por exemplo: estado civil (casado, divorciado, solteiro, viúvo). Os valores de natureza ordinal possibilitam ordenar as categorias, por exemplo: nível de escolaridade, temperatura (frio, morno e quente). Desta forma, os valores do atributo que representa “estado civil”, apresentando na Tabela 3.1, podem ser classificados como sendo qualitativos de natureza nominal, pois não possuem uma ordem entre seus valores. O tipo de dado também influencia na escolha da técnica de mineração. Dias (2002) apresenta uma classificação das técnicas de mineração de dados a serem aplicadas de acordo com as características dos dados existentes, conforme pode ser visto na Tabela 3.2. 50 Característica Descrição Técnicas de Mineração de Dados Variáveis de São campos que apresentam valores de • Descoberta de categorias um conjunto de possibilidades limitado e regras de associação predeterminado • Árvores de decisão Variáveis numéricas São aquelas que podem ser somadas e • Raciocínio baseado ordenadas em casos (MBR) • Árvores de Decisão Muitos campos por Este pode ser um fator de decisão da • Árvores de decisão registro técnica correta para uma aplicação específica, uma vez que os métodos de mineração de dados variam na capacidade de processar grandes números de campos de entrada Variáveis Caso em que é desejado prever várias • Redes neurais dependentes variáveis diferentes baseadas nos múltiplas mesmos dados de entrada Registro de Apresentam dificuldades na maioria das • Descoberta de comprimento técnicas de mineração de dados, mas regras de associação variável existem situações em que a transformação para registros de comprimento fixo não é desejada Dados ordenados Apresentam dificuldades para todas as • Rede neural cronologicamente técnicas e, geralmente, requerem intervalar (timeaumento dos dados de teste com marcas delay) ou avisos, variáveis de diferença etc. • Descoberta de regras de associação Texto sem A maioria das técnicas de mineração de • Raciocínio baseado formatação dados é incapaz de manipular texto sem em casos (MBR) formatação Tabela 3.2: Características de dados. Fonte: Dias (2002, p. 1718). 3.4 CONSIDERAÇÕES FINAIS Neste capítulo foi discutida a importância do papel humano para a condução do processo de descoberta de conhecimento em banco de dados e a necessidade da participação humana ser especializada, pois influenciam desde a definição dos objetivos da execução do processo até a avaliação dos resultados. Conclui-se que não é possível criar qualquer tipo de classificação de técnicas de mineração de dados e de visualização de informação utilizando somente o tipo de dado definido para um 51 atributo numa base de dados, sendo essencial o conhecimento do domínio de dados antes da realização de qualquer etapa do processo de descoberta de conhecimento em banco de dados. 52 4 AVALIAÇÃO DE TÉCNICAS DE VISUALIZAÇÃO 4.1 INTRODUÇÃO Neste capítulo é apresentada uma avaliação de técnicas de visualização de informação baseada nas características gerais definidas neste trabalho e aqui descritas. Essas características foram identificadas de acordo com a literatura pesquisada e tendo como enfoque o uso dessas técnicas para visualização de resultados obtidos com a aplicação de técnicas de mineração de dados. Nesta avaliação elegeu-se a técnica de avaliação de análise de características, conforme descrita em Pfleeger (2004), que consiste em relacionar as características importantes de métodos, processos ou ferramentas e atribuir pontuações de 1 (não satisfaz) até 5 (satisfaz completamente), neste caso a representação visual de técnicas de visualização de informação. Esta avaliação possibilitará a melhor escolha sobre quais técnicas de visualização utilizar, fazendo um estreitamento do leque de opções existentes. Nas próximas seções, as fontes de dados utilizadas na avaliação são descritas sucintamente e é apresentada a avaliação realizada utilizando a Linguagem R. 4.2 FONTES DE DADOS Na avaliação das técnicas de visualização de informação foram utilizadas bases de dados que fornecem condições específicas para cada característica avaliada, por exemplo: • Para avaliar a capacidade das técnicas de visualização de informação em relação à característica de escalabilidade, é necessário utilizar uma base de grande volume de dados. • Para avaliar a capacidade das técnicas de visualização de informação em relação à característica de dimensionalidade, torna-se necessário o uso de uma base de dados com diferentes quantidades de atributos. As características referentes à escalabilidade, dimensionalidade e outras são descritas nas próximas seções. 53 A seguir são descritas as bases de dados (encontradas na linguagem R) utilizadas neste trabalho: 1) USarrests Esta base contém dados estatísticos sobre as apreensões realizadas a cada 100.000 residentes dos estados do Estados Unidos da América em 1973, referentes a assalto, assassinato e violação. Nela é fornecida, também, a porcentagem da população que vive em áreas urbanas. Os atributos desta base são: 2) • Murder – Número de apreensões por assassinato (a cada 100.000 residentes). • Assault – Número de apreensões por assalto (a cada 100.000 residentes). • UrbanPop – Porcentagem da população urbana. • Rape – Número de apreensões por violação (a cada 100.000 residentes). Mtcars Esta base contém dados sobre o consumo de combustível e dez aspectos relacionados ao projeto e ao desempenho de 32 veículos produzidos nos anos de 1973-74. Os atributos desta base são: • Mpg – Consumo. • Cyl - Número de cilindros. • Disp - Cilindrada. • Hp - Número de Cavalos\força. • Drat - Relação do eixo traseiro. • Wt - V/S. • Qsec –Tempo para percorrer ¼ de milha. • Am - Tipo de transmissão (0 = automático, 1 = Manual). • Gear - Número de engrenagens. • Carb -Número de carburadores. 54 3) Matrizes Algumas matrizes foram criadas na linguagem R para representar bases de dados de alta escalabilidade e alta dimensionalidade. Na linguagem R, a criação de uma matriz é realizada a partir da reorganização de elementos de um vetor em linhas e colunas. Cada elemento da matriz é representado como a seguir: [(posição da linha na matriz), (posição da coluna na matriz)]. Os valores dos elementos que compõem a matriz foram determinados aleatoriamente usando funções da linguagem R. 4.3 AVALIAÇÃO DAS CARACTERÍSTICAS Dentre as técnicas de visualização pesquisadas, pode-se destacar um grupo de características comuns a todas, que são: Escalabilidade - número de registros. Dimensionalidade – número de atributos. Tipos de dados – classificação de dados como qualitativos e quantitativos. Interatividade – possibilidade de inserção de técnicas de interação. Interpretabilidade – facilidade de extrair informação. Relacionamento entre atributos. Correlação – grau de relacionamento entre os atributos. Por meio destas características foi possível gerar as pontuações atribuídas às visualizações de informação que compõem este trabalho, a saber: técnicas geométricas e técnicas iconográficas. 4.3.1 Escalabilidade Segundo Traina et al. (2002), escalabilidade refere-se tanto à complexidade computacional sobre o número de registros numa relação, quanto sobre o número de atributos. A quantidade de registros que podem ser apresentados simultaneamente é uma das limitações nas técnicas de visualização. Com elevado número de registros, o resultado apresenta-se com considerável grau de desordem (RUNDENSTEINER et al., 2002). 55 Keim e Kriegel (1996) cita as limitações de algumas técnicas de visualização em relação ao número de registros num conjunto de dados e afirma que a visualização de coordenadas paralelas é capaz de representar aproximadamente 1000 registros. Este autor afirma, também, que as técnicas geométricas rapidamente alcançam os limites do que pode ser considerado compreensível. Isto ocorre devido ao fato de haver sobreposição dos registros mapeados em posições iguais ou próximas, apresentando “borrões”, ou seja, regiões totalmente preenchidas. Shimabukuru (2004) afirma que a visualização de grandes volumes de dados requer a integração da técnica com operações de interação adequadas, que possibilitem seleção e filtragem de itens de interesse. As regiões totalmente preenchidas, “borrões” das coordenadas paralelas, geram visualizações incompreensíveis. Porém, percebe-se que o uso de cores pode auxiliar na visualização de padrões. Para demonstrar este fato, matrizes com diferentes quantidades de registros foram criadas e utilizadas como parâmetros de entrada na execução do algoritmo k-médias. Os resultados obtidos foram plotados nas técnicas de coordenadas paralelas, onde as linhas representam os atributos da matriz e as cores representam os agrupamentos, como é possível constatar nas Figuras 4.1a e 4.1b. As cores se destacam como borrões, possibilitando a visualização dos padrões de cada agrupamento. Como é possível verificar nas Figuras 4.1a e 4.1b, o aumento no número de registros de 10.000 para 100.000 gera borrões que demonstram os padrões. Neste exemplo, o algoritmo gerou três grupos, mas, porém, dependendo do domínio da aplicação e da quantidade de registros, pode haver necessidade da criação de mais grupos e, conseqüentemente, da utilização de mais cores. a) b) Figura 4.1: Coordenadas paralelas a) 10.000 registros, b) 100.000 registros. (linguagem R). 56 Para reafirmar a dificuldade na visualização de grande quantidade de registros com o uso de técnicas geométricas, as Figuras 4.2a, 4.2b e 4.2c mostram a visualização de dispersão de dados em projeção tridimensional (scatter plot 3D) de matrizes com tamanhos de 100, 1.000 e 10.000 linhas, respectivamente, e com cinco colunas. Nestas figuras é possível observar que, conforme o número de registros aumenta, a visualização se torna incompreensível. a) b) c) ) Figura 4.2: Dispersão de dados tridimensional a) 100 registros, b) 1.000 registros, c) 10.000 registros - (linguagem R). As técnicas baseadas em ícones possibilitam a representação de um número pequeno de registros devido ao tamanho dos elementos gráficos (RODRIGUES, 2003). Das visualizações classificadas como técnicas iconográficas, avaliadas neste trabalho, as faces de chernoff é a visualização que tem a maior limitação na questão escalabilidade, pois permite a representação apenas de uma pequena quantidade de registros, conforme pode ser visto nas Figuras 4.3a e 4.3b. Na avaliação desta técnica foram utilizadas matrizes de diversos tamanhos, porém a quantidade máxima que permitiu uma visualização interpretável foi a matriz de 169X8, representando 169 registros com oito atributos. 57 b) a) Figura 4.3: Faces de Chernoff a) 56 registros b) 169 registros - (linguagem R). De acordo com Shimabukuru (2004), a visualização figuras de arestas é classificada como técnica iconográfica possibilita representar grandes volumes de dados. Esta técnica de visualização utiliza as duas dimensões da tela para mapear dois atributos de dados, com os demais atributos sendo mapeados para ângulos e/ou comprimentos de segmentos. Na Figura 4.4 é representada a imagem composta de ícones pertencentes a visualização figura de arestas, gerada a partir de 5 imagens de satélite da região dos Grandes Lagos, na qual diversas texturas são identificadas. Figura 4.4: Visualização figuras de aresta (Stick Figure) Fonte: Gri 2001 (SHIMABUKURO apud 2004, p. 21) 4.3.2 Dimensionalidade Esta característica está relacionada à capacidade que as técnicas de visualização possuem na representação de atributos. 58 Keim (2002) cita que geralmente é utilizada nas visualizações de informação uma grande quantidade de registros e cada qual tem muitos atributos, por exemplo: uma experiência física pode ser descrita com cinco atributos ou centenas de atributos. O autor chama o termo atributo de dimensão e classifica os dados como unidimensional, bidimensional, multidimensional ou podem ser dados complexos como hipertexto ou redes (grafos). Tanto na área científica quanto na engenharia e ainda no mundo dos negócios, a maioria dos dados é da forma multidimensional, ou seja, conjuntos de dados que contêm tipicamente mais que três atributos (PUNTAR, 2003). As técnicas de visualização de informação têm a proposta de interpretar conjuntos de dados multidimensionais. Nessa interpretação, deve-se levar em conta a capacidade de percepção humana, ou seja, o limite conceitual da dimensionalidade que segundo Rodrigues (2003), pode estar entre baixo e alto. No entanto, não existe um consenso sobre o que pode ser considerado como baixa e alta dimensionalidade, podendo variar entre 5 e 10 atributos (BEYER et al., 1999; BERCHTOLD et al. 1998 apud RODRIGUES, 2003, p. 19), estar em torno de 34 atributos (OLIVEIRA; LEVKOWITZ, 2002 apud RODRIGUES, 2003, p. 19), ou mesmo estar acima de 100 atributos ( BÖHM; KRIEGEL, 2000 apud RODRIGUES, 2003, p. 19). Utilizando estes limites conceituais como base, foram criadas diversas matrizes com diferentes colunas (representando os atributos). Após a criação, cada matriz foi plotada nas técnicas de visualização de informação utilizadas no trabalho. A literatura revisada é unânime quando se trata das coordenadas paralelas para representação de dados multidimensionais (KEIM; KRIEGEL, 1996; WEGMAN; LUO, 1996; GERSHON; EICK, 1997; INSELBERG; DIMSDALE, 1990; RODRIGUES, 2003; SHIMABUKURU, 2004; NASCIMENTO; FERREIRA, 2005). Esta técnica mapeia cada atributo a uma linha conectando pontos nos eixos. A Figura 4.5 exibe três visualizações da técnica de coordenadas paralelas, com quantidades diferentes de atributos (10, 34 e 100 respectivamente) e com a mesma quantidade de registros. O limite de atributos que as coordenadas paralelas podem suportar está restrito à resolução da tela do computador. Conforme pode ser observado, o aumento de atributos causa borrões que dificultam a visualização ou até mesmo o reconhecimento de padrões. 59 a ) b ) c ) Figura 4.5: Cordenadas paralelas: a) 10 atributos. b) 34 atributos. c) 100 atributos. Todas visualizações representam 100 registros - (linguagem R). Outra técnica de projeção geométrica de visualização que tem a capacidade de representar alta dimensionalidade é a matriz de dispersão de dados. Shimabukuru (2004), afirma que dispersão de dados é a técnica de visualização de informação mais antiga e popular para a projeção de dados de alta dimensionalidade em uma representação visual bidimensional. Para a visualização de dispersão de dados tridimensional (scatter plots 3D), Ebert et al. (2000) sugere a possibilidade da utilização de ícones para representação dos atributos dos dados, permitindo dessa forma o aumento no número de dimensões que podem ser exploradas nesta visualização. Utilizando esta sugestão, pode-se considerar que esta visualização tem boa representação na característica dimensionalidade. A técnica de visualização iconográfica é outra das mais utilizadas, onde as figuras são usadas como codificadores geométricos, tirando partido dos seus atributos visualmente perceptíveis como cor, forma e textura (LEVKOWITZ, 1991 apud RUSSO; GROS; ABEL, 1999, p. 4). As faces de chernoff, desenvolvida por Chernoff (1973), é classificada como técnica de visualização iconográfica, também pode ser utilizada para visualizar dados multidimensionais, partindo da capacidade do ser humano de conseguir distinguir características visuais. Embora esta técnica seja muito útil em exibir dados multidimensionais, os registros são apresentados separadamente, uma vez que eles não transmitem qualquer informação sobre os reais valores com as quais se relacionam. Porém, as faces de chernoff possuem a capacidade de ilustrar tendências ou parte dos dados que devem ser colocados em evidência (RUSSO; GROS; ABEL , 1999). 60 A Figura 4.6 ilustra a visualização de faces de chernoff utilizando um matriz de 3 x 15 (três registros e quinze atributos). Os atributos são representados pelas seguintes características: altura da face, largura da face, forma da face, altura da boca, largura da boca, curva do sorriso, altura dos olhos, largura dos olhos, altura do cabelo, largura do cabelo, estilo do cabelo, altura do nariz, largura do nariz, largura das orelhas e altura das orelhas. Na revisão bibliográfica realizada não é estabelecido um limite de quantidade de características que podem ser utilizadas nesta visualização. Johnson e Wichner (1982) sugere até 18 atributos. Na linguagem R, a função que projeta esta visualização, chamada “faces”, possibilita a representação máxima de 15 atributos. Figura 4.6: Faces de chenorff com 15 atributos - (linguagem R). Outra técnica de visualização iconográfica que trabalha com dados multidimensionais, semelhante às faces de chernoff, é a visualização star glyphs. Johnson e Wichner (1982) dizem que esta visualização é útil para padronizar determinadas informações e a utiliza para determinar similaridade nos agrupamentos. Lee, Reilly e Butavicius (2003) afirmam que as visualizações “faces de chernoff” e “star glyphs” são pontos multidimensionais que usam espaço dimensional útil para detectar agrupamento e outliers. A visualização “star glyphs” permite um maior número de atributos comparado com “faces de chernoff”, conforme pode ser visto na Figura 4.7, que mostra a possibilidade de representação de até aproximadamente 80 atributos (Figura 4.7c). No entanto, como mostra a Figura 4.7d, com uma grande quantidade de atributos é possível visualizar somente borrões. a) b) c) d) Figura 4.7: Star glyphs - a) 10 atributos, b) 30 atributos, c) 80 atributos, d) 500 atributos. (linguagem R) 61 Além das técnicas de visualização iconográficas Faces de Chernoff e Star glyphs, existe a visualização de Figura de arestas (Stick Figure) que, apesar de representar alta escalabilidade, possui certa limitação referente à dimensionalidade, que é da ordem de aproximadamente uma dezena (KEIM; KRIEGEL, 1996) 4.3.3 Tipos de dados Freitas et al. (2001) e Chi e Riedl (1998) consideram a identificação das características relativas aos tipos de dados como procedimento essencial na seleção de uma técnica de visualização. Freitas et al. (2001) classificam a informação em classe de informação, tipos dos valores, natureza do domínio e dimensão do domínio, conforme pode ser visto no Quadro 4.1. Quadro 4.1: Classificação da informação Fonte: Freitas et al. (2001, p. 147). Entretanto, neste trabalho o enfoque está nos tipos de valores (aqui nomeado como “tipos de dados”) para avaliação destas características. No entanto, é necessário considerar também a natureza do domínio na classificação do tipo de dado. Assim, os tipos de dados podem ser classificados como (DOWNING; CLARK, 2002; SHIMAKURA, 2007): • qualitativo nominal – dados alfanuméricos que não possuem ordem (ex.: marca de carros); 62 • qualitativo ordinal – dados alfanuméricos que possuem ordem (ex.: frio, morno e quente); • quantitativo discreto – dados numéricos (contínuo ou reais) que se referem a contagens (ex.: número de acidentes com veículos registrado no mês); • quantitativo contínuo – dados numéricos (inteiros ou reais) que se referem a representações em escala (ex.: área, volume, peso e velocidade). Na realização da avaliação das técnicas de visualização de informação utilizando a linguagem R, foi encontrado um problema em relação ao parâmetro de entrada para o tipo de dado qualitativo, pois a linguagem R não permite este tipo de dado de entrada em algumas visualizações de informação. Para solucionar este problema, foi realizada a operação de codificação, apresentada por Goldschmidt e Passos (2005), no qual os valores qualitativos foram substituídos por valores numéricos. Das técnicas de visualização de informação avaliadas, todas permitem a representação de dados quantitativos (discreto e contínuo). No entanto, para dados qualitativos nominais, as técnicas iconográficas avaliadas não possibilitam boa representação. O uso de cores na visualização “faces de chernoff” contribui para uma melhor representação em alguns atributos qualitativos nominais, como é o caso, por exemplo, de sexo (M/F), estado civil (casado/solteiro/viúvo) e Unidade Federal (PR/SP/MG...). A inserção de propriedades de visualização pode tornar mais efetiva4 a técnica de visualização de informação quando avaliada em relação à característica tipos de dados qualitativos. Mackinlay (1986) propõe uma ordenação de prioridades na utilização das propriedades de visualização, considerando os mais perceptíveis aos menos perceptíveis em relação aos tipos de dados quantitativos e qualitativos (ordinais e nominais), conforme pode ser visto na Figura 4.8 e Quadro 4.2. 4 - A efetividade está relacionada à facilidade de se compreender os dados apresentados. Para ser efetiva, uma visualização deve ser de rápida percepção e induzir a uma quantidade menor de erros de interpretação do que outras formas de se visualizar os mesmos dados. (NASCIMENTO, 2005). 63 Figura 4.8: Propriedades da visualização. Fonte: (Mackinlay, 1986, p. 125). Quadro 4.2: Ranking dos atributos em relação à percepção. Fonte: (Mackinlay, 1986, p. 125). 4.3.4 Interação A interação consiste no diálogo entre usuário e a máquina, potencializando assim o poder elucidativo de uma determinada técnica de visualização, ou seja, a interação dinâmica faz com que o usuário altere suas visualizações de forma que suas metas possam ser alcançadas (VAZ; CARVALHO, 2004; RODRIGUES, 2003). 64 A avaliação da característica de interação tem como objetivo verificar a possibilidade do uso de técnicas de interação nas técnicas de visualização de informação selecionadas. Na realização desta avaliação não foi possível criar interações utilizando a linguagem R por não ter sido encontrado um pacote com este objetivo. Entretanto, pode-se concluir que a técnica de filtragem interativa e zoom interativo se aplicam às visualizações selecionadas neste trabalho. A técnica de zoom interativo permite comprimir e expandir elementos gráficos da visualização, demonstrando maior eficácia para as técnicas de visualização iconográficas, como é apresentado por Nascimento e Ferreira (2005) nos itens relacionados a seguir sobre possíveis formas de interação usando técnicas de visualização iconográficas e a visualização de coordenadas paralelas. Formas de interação em técnicas de visualização iconográficas: • Possibilidades de modificação dinâmica entre a associação do componente da visualização com os atributos de dados. • Controle sobre a quantidade de ícones visualizados simultaneamente, alterando o tamanho do mesmo, por meio de zoom interativo. • Os ícones podem ser ordenados conforme a necessidade do usuário. • Por meio de um simples clique no ícone é possível ter acesso à informação mais detalhada sobre o que o ícone representa, com apoio do zoom interativo. Formas de interação em coordenadas paralelas: • Possibilidade de incluir e excluir eixos verticais. • Selecionar intervalos de interesse no eixo, destacando os intervalos com cores mais intensas, este processo simboliza filtragem dos dados e zoom interativo. • A possibilidade de selecionar mais do que uma coordenada simultaneamente, criando um processo de filtragem que realiza operações de união, intersecção ou complemento entre os registros (representado pelas linhas horizontais). Wegman e Luo (1996) realizaram um trabalho, ao qual exploraram dados multidimensionais em projeções bidimensionais, utilizando a visualização de coordenadas paralelas. Os autores redefiniram dinamicamente as projeções geradas a partir de uma base multidimensional. A idéia é isolar os agrupamentos ou dados de interesse pintando estes conjuntos na visualização. 65 Portanto, pode-se verificar a possibilidade de interação na visualização de coordenadas paralelas. 4.3.5 Interpretabilidade A área de descoberta de conhecimento em base de dados tem como objetivo principal identificar dados, padrões, modelos potencialmente úteis que sejam, sobretudo, altamente interpretáveis (FAYYAD; PIATETSKY; SMYTH, 1996a). Sendo assim, a característica de interpretabilidade foi selecionada com o intuito de verificar a existência ou não de facilidade na interpretação das informações apresentadas utilizando as técnicas de visualização de informação selecionadas neste trabalho. Segundo Nascimento e Ferreira (2005), as técnicas de visualização de informação envolvem o sentido humano da visão e este tipo de percepção está relacionado a diversas áreas, tais como psicologia, lingüística e artes visuais, e, ainda, a algumas subáreas da computação, como visão computacional e interação humano-computador. No entanto, essas áreas não são consideradas nesta avaliação. A matriz de dispersão foi a primeira visualização de informação avaliada em relação à característica de interpretabilidade, por ser esta característica apontada por Shimabukuru (2004) como sendo uma das vantagens desta visualização. A Figura 4.9 representa a visualização de matriz de dispersão com sete atributos da base de dados “mtcars” e com os três grupos gerados pelo algoritmo “K-médias” aplicado sobre esta base. Os grupos estão representados pela propriedade de visualização cor (vermelho, preto e verde). Observando esta figura é possível interpretar que há uma clara divisão dos grupos determinada pelos valores do atributo número de cilindros “cyl”. Outra interpretação possível diz respeito ao relacionamento entre os atributos, que torna visível a similaridade e dissimilaridade entre eles. 66 Figura 4.9: Matriz dispersão de dado representando a base de dados “mtcars” - (linguagem R). Outra técnica de projeção geométrica avaliada foi a visualização de coordenadas paralelas que projetam o relacionamento entre os atributos da base de dados em padrões bidimensionais, permitindo interpretar características como a diferença na distribuição e correlação entre os atributos (INSELBERG; DIMSDALE, 1990; WEGMAN; LUO, 1996). A análise da característica de correlação entre atributos é discutida na Seção 4.3.7. A Figura 4.10 representa a visualização das coordenadas paralelas, demonstrando a distribuição dos registros com os atributos da base de teste “mtcars” e os grupos formados pelo algoritmo “K-médias” por meio de cores (vermelho, verde e preto). Na Figura 4.10 é possível observar uma concentração de cores nos eixos horizontais que cruzam com o eixo vertical do atributo “cyl” e que irradiam para os eixos verticais “disp” e “hp”. Pode-se concluir que os três grupos gerados pelo algoritmo não contêm valores iguais para os atributos “cyl” e “disp” e o número de cilindros (cyl) é proporcional aos valores dos atributos “disp” e “hp”. 67 Figuras 4.10: Coordenadas paralelas representando a base de dados “mtcars” - (linguagem R). Quanto às técnicas iconográficas, a visualização “faces de chernoff” foi avaliada por possibilitar uma visualização rápida e compacta de vários ícones simultaneamente, conforme afirmam Estivalet e Freitas (2000). Esta representação do domínio de dados é eficiente, porém exige uma adaptação do usuário, visto que é necessário habituar-se à interpretação de cada característica visual existente de acordo com o mapeamento dos atributos (LEE; REILLY; BUTAVICIUS, 2003). Na avaliação das visualizações selecionadas foi constatado que uma boa interpretação dos dados não depende só da técnica utilizada, mas também do domínio de aplicação, entendimento do domínio de dados e conhecimento do usuário em relação às técnicas de visualização e aos domínios considerados. 4.3.6 Relacionamento entre os atributos. Esta característica diz respeito à possibilidade de representação do relacionamento entre atributos, como é o caso da técnica geométrica matriz de dispersão de dados que representa o relacionamento entre atributos (SHIMABUKURU, 2004). A Figura 4.11 mostra um exemplo do uso desta técnica. Como pode ser visto na Figura 4.11, todos os atributos de dados da base de teste (USarrests) estão representados, onde as projeções dos atributos são realizadas aos pares e organizadas em formato de matriz, com cada célula associada a dois atributos identificados nas linhas e colunas da matriz. Nesta técnica de visualização é possível adicionar atributos qualitativos 68 utilizando formas e cores nos componentes de visualização. Na Figura 4.11 as cores representam os grupos formados na execução do algoritmo K-médias. Figura 4.11: Matriz de Dispersão – Base de dados “USarrests”. (linguagem R) Outra técnica de projeção geométrica de visualização que mostra o relacionamento entre os atributos é as coordenadas paralelas, representada na Figura 4.12. Ao gerar uma representação planar, transforma relações multivariadas em padrões bidimensionais (WEGMAN; LUO, 1996). De acordo com a resolução disponível e dimensão da tela, é possível visualizar muitos atributos. A relação entre os atributos encontra-se nos eixos verticais, quanto mais próximos os eixos melhor a visualização da relação. Por exemplo, o atributo “assault” relacionado com o atributo “urbanpop” é demonstrado através das posições das linhas horizontais que exibe o significado na relação conforme pode ser visto na Figura 4.12a. O relacionamento entre os atributos “assault” e “rape” que estão separados pelo atributo “urbanpop”, é necessário criar mentalmente a relação ou retirar o atributo, conforme a Figura 4.12b. 69 a) b) Figura 4.12: Coordenadas paralelas - Base de dados “USarrests” - (linguagem R). Quanto às técnicas iconográficas, não foi possível determinar a existência de relacionamentos, desta forma optou-se em não avaliar tal característica. 4.3.7 Correlação Correlação ou coeficiente de correlação fornece o grau de relacionamento entre duas variáveis (DOWNING; CLARK, 2002). A correlação é a associação ou interdependência entre os atributos da base de dados, utilizada para demonstrar se existe uma relação ou não entre atributos de interesse. Quando se trata de correlação, a visualização de dispersão de dados é a mais referenciada na literatura (CRESPO, 1999; DOWNING; CLARK, 2002), fornecendo uma medida de correlação positiva ou negativa de acordo com o sentido da dispersão de dados. A visualização de dispersão de dados fornece uma nuvem de pontos em um plano cartesiano utilizando eixos (x,y), sendo muito útil para identificar correlação linear (CRESPO, 1999). A correlação é identificada na visualização de acordo com a posição dos pontos, isto é, se os pontos do diagrama têm como “imagem” uma reta ascedente ela é linear positiva (ver Figura 4.13a), da mesma forma se os pontos formarem uma “imagem” como uma reta descendente, ela é linear negativa (Figura 4.13b). Entretanto, se os pontos apresentam-se dispersos, não oferecendo uma “imagem” definida, conclui-se que não há relação entre os atributos em estudo (Figura 4.13c) (DOWNING; CLARK, 2002; CRESPO, 1999). 70 a) b) c) Figura 4.13: Dispersão de dados; a) Correlação positiva; b) Correlação negativa; c) Correlação nula. Para demonstrar esta característica, foi utilizada a base de teste “USarrests” na visualização da matriz de dispersão de dados com uma função criada na linguagem R, que calcula a correlação, demonstra os valores calculados e constrói linhas que acompanham a dispersão (linhas vermelhas na Figura 4.14). Como pode ser observado nesta visualização, o maior coeficiente de correlação encontrado está entre os atributos “morte” e “assalto”, identificado como correlação positiva, ou seja, o número de mortes aumenta conforme o número de assaltos também aumenta. Figura 4.14: Correlação na visualização de dispersão de dados - base de dados “USarrests”. (Linguagem R) Outra técnica de projeção geométrica avaliada foi a visualização de coordenadas paralelas. Por meio de observação é possível verificar na Figura 4.15 a similaridade de comportamento entre os eixos que representam os registros, caracterizando assim a correlação positiva. Já na Figura 4.16, é possível observar o contrário, isto é, a dissimilaridade do comportamento dos eixos que representam os registros, indicando a existência de correlação negativa. 71 Figura 4.15: Representação de correlação positiva da visualização de coordenadas paralelas Figura 4.16: Representação de correlação negativa da visualização de coordenadas paralelas War (2002 apud SHIMABUKURU, 2003, 19), apresenta a evidência de correlação, através do cruzamento entre as linhas horizontais, como pode ser observado na Figura 4.17 a existência de uma correlação negativa entre os eixos 6 e 7 destacados em verde. Figura 4.17: Correlação e distribuição de valores em Coordenadas Paralelas. Fonte: (WAR, 2002 apud SHIMABUKURU, 2003, p. 19). 72 Foram utilizadas as bases de teste na avaliação da visualização de coordenadas paralelas com o objetivo de identificar a existência de correlações. No entanto, os resultados não foram satisfatórios, pois esta visualização não demonstrou as correlações existentes identificadas previamente pela visualização dispersão de dados, devido ao fato de haver sobreposição dos registros mapeados que apresentaram “borrões” (ver Figura 4.5a). Quanto às técnicas iconográficas, não foi realizado qualquer tipo de avaliação pela impossibilidade de interpretação da visualização da característica de correlação. 4.4 RESULTADOS E CONSIDERAÇÕES FINAIS Entender as visualizações de informação e conhecer as vantagens e limitações que elas oferecem pode auxiliar a sua utilização correta e, conseqüentemente, melhorar a sua interpretação, evitando assim futuras frustrações e tomada de decisão incorreta. Neste capítulo foram apresentadas as características identificadas como sendo fatores que influenciam na utilização de técnicas de visualização de informação. Cada característica foi avaliada com o intuito de identificar suas qualidades e limitações. A avaliação foi realizada utilizando bases de dados de teste, algoritmo de mineração de dados K-médias e a linguagem R. Foram definidas pontuações que variam de zero (não satisfaz) a cinco (satisfaz completamente), conforme o modelo de análise de característica descrito por Pfleeger (2004). Segue abaixo uma análise resumida dos resultados obtidos na avaliação de acordo com as características definidas: • Escalabilidade: existem limitações para as técnicas de projeção geométrica relacionada às bases de dados que possuem um grande número de registros, porém, para identificar padrões gerados pelos algoritmos de mineração de dados, estas técnicas demonstramse eficientes. Já as técnicas iconográficas possuem maior limitação, no caso da visualização “star glyphs” e “faces de chernoff”, o que não ocorre para a visualização “Figura de arestas” que é utilizada para identificar padrões em grandes bases de dados, por meio das formações e posições dos ícones que podem formar texturas. 73 • Dimensionalidade: esta característica foi avaliada de acordo com a quantidade de atributos possíveis de serem projetados nas visualizações de informação, sem causar a poluição visual ou “borrões”. Abaixo é apresentado o número de atributos para cada visualização avaliada de acordo com a limitação do dispositivo utilizado neste trabalho: o Matriz de dispersão: aproximadamente 15 atributos, considerando forma e cores. o Dispersão de dados 3D: nesta visualização três atributos podem ser representados por três eixos, adicionalmente podem ser utilizadas propriedades de visualização (tais como: densidadade, cor, área, volume, posição e etc.) na representação de outros atributos. Neste trabalho a projeção foi feita para aproximadamente cinco atributos. o Coordenadas paralelas: foi possível projetar 35 atributos. o Star glyphs: aproximadamente 80 atributos. o Figura de arestas: esta visualização tem alta dimensionalidade. o Faces de chernoff: foi possível projetar aproximadamente 15 atributos de acordo com características da “face”. • Tipos de dados: os tipos de dados quantitativos e qualitativos ordinais são projetados em todas as visualizações de informação avaliadas, porém os tipos de dados qualitativos nominais apresentam dificuldade em sua representação nas técnicas iconográficas, onde é necessário o uso das propriedades de visualização, por exemplo: cor e forma. • Interação: foi constatado que existem diferentes técnicas de interação que podem ser aplicadas às visualizações de informação. • Interpretabilidade: a matriz de dispersão e dispersão de dados tridimensional demonstraram fácil interpretação na avaliação. As coordenadas paralelas também facilitam a interpretação, porém dificultam a visualização da relação entre atributos pelo fato de existirem coordenadas separadas. Para a interpretação das técnicas iconográficas é necessário o conhecimento das propriedades de visualização consideradas, juntamente com o mapeamento realizado com os atributos. Nos casos 74 em que o objetivo do uso da visualização é encontrar padrões, a visualização “Figura de aresta” é indicada. • Relacionamento entre atributos: as técnicas de projeção geométrica permitem visualizar os relacionamentos entre atributos, sendo a matriz de dispersão a visualização de informação que melhor representa esta característica. • Correlação: a visualização de dispersão de dados é a que melhor demonstra esta característica. A partir da avaliação realizada, foi possível criar a Tabela 4.1 (Analise de características de técnicas de visualização). 75 Características Matriz Dispersão Suporte a quantidade de dados (Escalabilidade) Suporte a quantidade de atributos (Dimensionalidade) T I P O S D E D A D O S Projeção Geométrica Dispersão de dados Coordenadas 3D Paralelas Técnicas Iconográficas Figura Star de Faces de Glyphs arestas Chernoff 5 4 5 1 5 1 3 2 4 5 5 3 Representação de dados qualitativos nominais 2 2 5 1 1 1 Representação de dados qualitativos ordinais 5 5 5 5 5 5 Representação de dados quantitativos discretos 5 5 5 5 5 5 Representação de dados quantitativos contínuos 5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 Facilidade de interpretação (Interpretabilidade) 5 5 3 3 3 4 Relacionamento entre os atributos 5 3 3 1 1 1 Correlação 5 4 2 X X X Representação de dados mistos (qualitativos e quantitativos) Interação Tabela 4.1: Análise de características das técnicas de visualização. Legenda: Pontuação: (1) não satisfaz completamente, (2) não satisfaz, (3) satisfaz parcialmente, (4) satisfaz, (5) satisfaz completamente. 76 5 APLICAÇÃO DE TÉCNICAS DE VISUALIZAÇÃO DE INFORMAÇÃO Neste capitulo é demonstrado o uso de técnicas de visualização de informação na representação de dados e de resultados obtidos na aplicação de um algoritmo de agrupamento. O objetivo é confirmar a avaliação realizada e apresentada no capítulo anterior utilizando uma base de dados real. Tanto o algoritmo de agrupamento quanto as técnicas de visualização de informação apresentadas neste capítulo utilizam recursos oferecidos pela linguagem R. Inicialmente, foi selecionada a base de dados para a experimentação. Optou-se pela base de candidatos da Universidade Estadual de Maringá (UEM), contendo os resultados das provas referentes ao vestibular de inverno do ano de 2005, somente do curso de medicina, disponível no endereço eletrônico www.cvu.uem.br. Esta base foi modificada num formato adequado para sua utilização na linguagem R e contém 1598 registros representando os candidatos ao curso de medicina e 13 atributos, que são: idade, nota da prova de redação, nota da prova de geografia, nota da prova de historia, nota da prova de biologia, nota da prova de matemática, nota da prova de português, nota da prova de língua estrangeira, nota da prova de física, nota da prova de química, nota final (total), classificação do candidato e situação do candidato (aprovado, reprovado e desclassificado). 5.1 VISUALIZAÇÃO DOS DADOS ORIGINAIS A visualização de informação tem uma representação significativa no processo de análise de dados, facilitando a sua interpretação. Na fase de pré-processamento do processo KDD, o analista precisa ter um entendimento sobre os dados que, em alguns casos, podem apresentar inconsistências, principalmente quando são o resultado da integração de duas ou mais bases de dados. Além da detecção de possíveis inconsistências, o uso de visualização de informação pode auxiliar na descoberta de tendências e padrões entre os dados originais que servirão de base na limpeza e seleção de atributos a serem usados como parâmetros de entrada para a mineração de dados. 77 A visualização de informação sobre dados originais pode, também, fornecer conhecimentos que darão suporte à tomada de decisão, sem que haja necessidade da aplicação de uma técnica de mineração de dados. Desta forma, antes de aplicar o algoritmo de agrupamento, foram utilizadas algumas técnicas de visualização com intuito de encontrar características da base de dados. De acordo com a Tabela 4.1 (resultado da análise de características da técnica de visualização), descarta-se a visualização “faces de chernoff” e “star glyphs”, pois a base de dados possui 1598 registros e estas visualizações têm como característica a baixa escalabilidade. Em contrapartida, as visualizações matriz de dispersão, coordenadas paralelas e figuras de arestas apresentam-se como as mais adequadas quanto à escalabilidade e dimensionalidade. Como já avaliado no Capítulo 4, as coordenadas paralelas demonstram-se úteis na identificação de padrões gerados por algoritmos de agrupamento com grande quantidade de registros, o que não ocorre na visualização preliminar da base de dados (sem aplicação do algoritmo de agrupamento), sendo ineficiente com mais de 1000 registros. Considerando que a matriz de dispersão obteve alta pontuação em todas as características avaliadas e apresentadas na Tabela 4.1, esta visualização é uma opção para projetar a base de dados original com todos os seus atributos e registros. Com a filtragem dos candidatos aprovados, diminui-se a escalabilidade, possibilitando o uso da visualização de informação “star glyphs”. Assim, a seguir são apresentadas as análises realizadas aplicando as técnicas de visualização geométricas e iconográficas, mais especificamente as visualizações matriz de dispersão e “star glyphs”. a) Projeção Geométrica Como a matriz de dispersão é a visualização que melhor consegue representar a correlação entre os atributos, a sua projeção foi realizada com ênfase nesta característica. A Figura 5.1 ilustra esta visualização, onde é possível observar: 78 • Os candidatos aprovados têm idade inferior a trinta anos, conforme mostra a relação entre os atributos idade e situação (1 - aprovado, 2 - desclassificado e 3 – reprovado). • Os atributos referentes às notas das provas têm alto grau de relacionamento linear positivo (correlação) entre si. • Os atributos com maior grau de relacionamento (correlação) são as notas das provas de geografia e história e as notas das provas de química e biologia. • O atributo total de pontuação tem maior grau de relacionamento com os atributos referentes às notas das provas de química e biologia. • O atributo idade apresenta correlação nula com os demais atributos. Pelo fato da visualização ter gerado “borrões”, poderiam ser projetados somente aqueles atributos de maior interesse para facilitar o entendimento sobre a dispersão dos dados. ` Figura 5.1: Matriz de dispersão (base de dados Uem/2005) - (Linguagem R). Com intuito de utilizar alguma visualização de informação para verificar a existência de inconsistências em base de dados, foi incluído o atributo sexo na base de candidatos da Universidade Estadual de Maringá (UEM) com alguns valores nulos. Observando as Figuras 5.2a e 5.2b, é possível verificar uma inconsistência nas bases de dados em relação ao atributo sexo que apresenta valor “nulo” para vários registros. Assim, concluise que a visualização de coordenadas paralelas consegue demonstrar à existência de atributos 79 com valores incorretos ou ausentes. Esta visualização também pode fornecer uma idéia da quantidade de registros que contêm valores incorretos, por meio da quantidade de linhas que irradiam do atributo em questão, por exemplo, a Figura 5.2a representa uma base de dados com 8,2% de registros contendo valor “nulo” no atributo sexo, enquanto que a Figura 5.2b representa outra base de dados contendo apenas 0,62% de registros com valor “nulo” no atributo sexo, como pode ser visto nestas figuras. a) b) Figura 5.2: Coordenadas paralelas: a) representando 131 registros contendo valores nulos para o atributo sexo, b) representando 10 registros contendo valores nulos para o atributo sexo - (linguagem R) b) Técnica Iconográfica A Figura 5.3 ilustra a visualização “Star Glyphs” onde foram projetados somente os candidatos aprovados. Nesta visualização é possível realizar algumas considerações sobre as pontuações das provas de cada candidato em relação às pontuações dos demais candidatos aprovados, tais como: • O candidato número 6 possui os menores valores obtidos nas provas de matemática, geografia, historia e física. • Os candidatos 3 e 8 possuem as melhores notas na maioria das disciplinas. • O candidato 12 obteve a menor nota em biologia e sua nota em português é relativamente alta em relação às demais notas por ele obtidas. • Os candidatos 3, 16, 19 e 20, obtiveram notas boas em todas as provas, enquanto que os demais candidatos apresentam pelo menos uma prova com nota baixa. 80 Figura 5.3: Star Glyph representando os candidatos aprovados - (linguagem R). Por meio deste exemplo, foi possível extrair algumas interpretações. No entanto, a avaliação apresentada na Tabela 4.1 pontuou a característica interpretabilidade para a visualização “Star Glyphs” com valor três, pela necessidade do uso do mapa representado na Figura 5.3. 5.2 VISUALIZAÇÃO DOS RESULTADOS DO ALGORITMO DE AGRUPAMENTO Após a preparação da base de dados e o uso de visualizações de informação sobre os dados originais, o algoritmo de agrupamento “K-médias” foi selecionado por ser um dos mais referenciados na literatura e, também, pelo fato da maioria dos atributos existentes na base de dados ser do tipo quantitativo. Na linguagem R, a função que implementa o algoritmo de agrupamento “K-médias” se encontra na biblioteca “amap” e possui cinco parâmetros de entrada. As linhas de código utilizadas para carregar a biblioteca e executar a função “Kmeans” são: library(amap) Kmeans(x, centers, iter.max = 10, nstart = 1,method = " euclidean ") 81 Os parâmetros da função “Kmeans” são descritos a seguir: • x - é a estrutura de dados da base de dados de entrada, juntamente com o seu conteúdo (valores numéricos dos atributos); • centers – número desejado de grupos; • inter.max – número máximo de interações que o algoritmo deve realizar. • method – medida de distância a ser utilizada: "euclidean", "maximum","manhattan", "canberra", "binary", "pearson" ou "correlation. A Figura 5.4 ilustra os resultados obtidos com a execução do algoritmo K-médias, que são divididos em quatro partes: 1. indica a quantidade de registros para cada grupo criado; 2. indica os centróides de cada atributo relacionado para cada grupo; 3. vetor do agrupamento que identifica o grupo criado para cada registro; 4. somatória da raiz quadrada por grupo. 1 2 3 4 Figura 5.4: Resultado do algoritmo K-médias - (Linguagem R). Conforme pode ser observado na Figura 5.4, os resultados apresentados não dão subsídios suficientes para a sua interpretação, sendo necessário, portanto, o uso de técnicas de 82 visualização de informação. A seguir são demonstradas as visualizações de informação utilizadas para representar esses resultados. a) Projeção Geométrica De acordo com a avaliação realizada neste trabalho, a visualização de coordenadas paralelas é uma das técnicas de projeção geométrica que obtiveram boa pontuação referente à característica de escalabilidade, pelo fato de conseguir demonstrar padrões nos resultados obtidos pelo algoritmo de agrupamento. Wegmam e Luo (1996) afirmam que a tarefa de agrupamento é facilmente interpretada utilizando a representação de coordenadas paralelas. Observando a projeção do resultado do algoritmo na visualização de coordenadas paralelas, ilustrada na Figura 5.5, é possível constatar a formação de padrões nos quatro grupos gerados pelo algoritmo de agrupamento, como descritos a seguir: • Grupo 1 (linhas pretas) – grande maioria dos candidatos reprovados com o total de pontuação igual a zero. • Grupo 2 (linhas vermelhas) – grande maioria dos candidatos desclassificados com o total de pontuação inferior a aproximadamente 754 (metade do total de pontuação obtida pelo candidato classificado em primeiro lugar que foi 1508). • Grupo 3 (linhas azuis) – grande maioria dos candidatos desclassificados com o total de pontuação superior a aproximadamente 754. • Grupo 4 (linhas verdes) - grupo de candidatos que obtiveram as melhores pontuações. Além da identificação dos padrões dos grupos, é possível identificar outras interpretações na visualização de coordenadas paralelas, por exemplo: • A faixa etária da maioria dos candidatos é inferior a aproximadamente 27 anos. • Quase todos os candidatos do Grupo 1 (linhas pretas) obtiveram nota zero na redação, e neste mesmo grupo é possível verificar a existência de candidatos que obtiveram notas com valores acima da média, sendo o grupo que apresenta a maior dispersão em outras provas. • Muitos candidatos do Grupo 1 zeraram a prova de língua estrangeira, considerando que existe uma concentração de linhas pretas no valor zero referente ao atributo LE (língua estrangeira). 83 • Existem candidatos que obtiveram boas notas na prova de redação, mas não estão agrupados no Grupo 4, pois é possível verificar na visualização que há candidatos de outros grupos no topo da linha vertical que representa o atributo redação, conforme Figura 5.6. • O Grupo 4 é o grupo dos candidatos que obtiveram as melhores notas nas provas de biologia, química e português, como pode ser observado na concentração de linhas verdes no topo das linhas verticais que representam os atributos referentes a estas provas. O destaque maior está na prova de química. • Apesar dos candidatos do Grupo 4 terem obtido as melhores pontuações no total geral, é possível observar que muitos deles obtiveram notas abaixo da média nas provas de matemática, língua estrangeira e física. • Entre os candidatos com as melhores notas, poucos obtiveram notas com valores próximos ao valor máximo atingido na prova de matemática, conforme pode ser observado na dispersão existente na linha vertical que representa este atributo. • Pode-se observar a existência de candidatos do Grupo 2 com boas notas (acima da média) nas provas de redação, geografia, história, língua estrangeira e química e com notas abaixo da média na prova de matemática. Figuras 5.5: Coordenadas paralelas gerado pelo algoritmo K-means - (Linguagem R). 84 Figura 5.6: Coordenadas paralelas com destaque no eixo vertical que representa o atributo redação - (linguagem R). As interpretações realizadas na visualização de coordenadas paralelas não se esgotaram, outras poderiam ser listadas de acordo com o conhecimento e o interesse sobre o tipo de informação a ser extraído pelo avaliador, por exemplo, o avaliador pode estar interessado apenas no grupo que representa os melhores candidatos. Assim, pode-se filtrar da base de dados os candidatos do Grupo 4 e serem gerados novos agrupamentos, ou até mesmo utilizar outras tarefas de mineração de dados (associações, regressão, sumarização ou classificação). Outra visualização que apresentou boa escalabilidade para demonstrar padrões de resultados do algoritmo de agrupamento é a visualização de dispersão de dados tridimensional (Figuras 5.7), utilizando a propriedade cor para representar os grupos formados. De forma geral, observando o eixo referente ao atributo da prova de biologia das Figuras 5.7a e 5.7b, é possível constatar a separação das cores, sugerindo as seguintes interpretações: • O grupo de cor vermelha representa a maioria dos candidatos que obteve na prova de biologia nota inferior a aproximadamente 30 pontos. • O grupo de cor verde representa a maioria dos candidatos que obteve na prova de biologia nota no intervalo aproximado entre 30 e 50 pontos. o grupo de cor azul representa a maioria dos candidatos que obteve na prova de biologia nota superior a aproximadamente 50 pontos; • O grupo de cor preta representa a maioria dos candidatos que obteve nota zero para a prova de redação. Pode-se observar, também, na Figura 5.7a a existência de correlação positiva entre a prova de química e a prova de biologia, já demonstrada pela Figura 5.1, e a separação dos grupos 85 (representados pelas cores) verificada pelo menor e maior valor do atributo da prova de química. Possibilitando as seguintes interpretações: • O grupo representado pela cor vermelha tem a maioria dos candidatos com a pontuação inferior ao grupo representado pela cor verde e azul. • O grupo representado pela cor verde tem a maioria dos candidatos com a pontuação superior ao grupo representado pela cor vermelha e inferior ao grupo representado pela cor azul. • O grupo representado pela cor azul tem a maioria dos candidatos com a pontuação superior aos grupos representados pelas cores verde e vermelha. a) b) Figura 5.7: Dispersão de dados tridimensional representando resultado do algoritmo de agrupamento da base “UEM-2005” - (linguagem R). Não se esgotaram as possibilidades de identificação de outras interpretações que podem ser realizadas, até porque, esta visualização permite a sua projeção em diferentes ângulos. b) Técnicas Iconográficas De acordo com a avaliação das técnicas de visualização de informação que resultou na Tabela 4.1, as visualizações “faces de chernoff” e “Star Glyphs”, tiveram baixa pontuação na característica escalabilidade e maior pontuação para dimensionalidade. Considerando que a escabilidade analisada diz respeito à quantidade de grupos, após a aplicação de um algoritmo de agrupamento, e que os centróides representam os grupos criados, ou seja, para cada grupo 86 existe um centróide que é um conjunto de valores calculados para cada atributo, mantendo o mesmo número de atributos, é possível utilizar a visualização “faces de chernoff” ou “star grlyphs” para representar os grupos. A Figura 5.8 ilustra a visualização “faces de chernoff” representando os centróides dos quatros grupos gerados pelo algoritmo K-médias, sendo que as variações nos valores dos atributos determinam faces distintas. As alterações que ocorrem nas faces são realizadas pelo mapeamento do atributo com as características de uma face (altura da face, altura da boca, altura dos olhos, largura do cabelo e etc...). A função da Linguagem R que implementa a geração da visualização “faces de chernoff” não apresenta qualquer informação sobre como foi realizado o mapeamento de cada atributo com as propriedades da face. Com a realização de alguns testes com o atributo total de pontuação, pode-se verificar que este atributo está relacionado com as propriedades relativas a cabelo. Somente a face quatro tem uma maior projeção do cabelo, sendo assim é possível afirmar que o Grupo 4 contém os candidatos aprovados e o Grupo 1 os candidatos reprovados. Figura 5.8: Faces de chernof representando os centróides dos grupos gerados pelo algoritmo k-médias - (linguagem R). 5.3 CONSIDERAÇÕE FINAIS A principal preocupação em relação à utilização das técnicas de visualização é a geração de visualizações que não prejudiquem as interpretações, pois a compreensão incorreta de dados pode levar à tomada de decisão incorreta. Portanto, é importante que sejam fornecidos subsídios para a escolha correta da técnica de visualização. Existem inúmeras visualizações de informação e a aplicação de cada visualização requer um estudo particular com intuito de conhecer as suas vantagens e desvantagens. Assim, algumas 87 visualizações foram utilizadas tendo como dados de entrada uma base de dados real e a sua análise foi apresentada neste capítulo. Por meio dessa análise, foi possível verificar a utilidade da avaliação das técnicas de visualização realizada e descrita no Capítulo 4, principalmente em relação à análise de resultados obtidos na aplicação de um algoritmo de agrupamento que, por sua vez, pode ser usado na mineração de dados. 88 6 CONCLUSÃO E TRABALHOS FUTUROS Apesar do uso já bastante difundido de ferramentas de mineração de dados, ainda existe grande dificuldade por parte do tomador de decisão no entendimento dos conhecimentos gerados por essas ferramentas. Isto geralmente ocorre devido ao formato dos resultados apresentados. Algumas dessas ferramentas não utilizam representações gráficas. Existem técnicas de visualização de informação que podem contribuir para o melhor entendimento dos resultados da mineração de dados. No entanto, ainda existem dificuldades no uso dessas técnicas, principalmente por não haver um direcionamento sobre quais delas são mais adequadas para a visualização de informação, tomando como base características das informações a serem visualizadas e características das próprias técnicas que facilitam o entendimento dessas informações. Buscando amenizar essas dificuldades, neste trabalho é apresentada uma avaliação de técnicas de visualização de informação geométricas e iconográficas. A técnica de avaliação utilizada foi Análise de Características, onde foram identificadas características relevantes sobre as técnicas de visualização de informação, tanto em relação às informações a serem visualizadas quanto à capacidade de interpretação. Para cada técnica de visualização avaliada foi atribuída uma pontuação em relação a cada característica identificada. No entanto, a Análise de Características é uma técnica subjetiva, pois a avaliação reflete a tendência do avaliador. Na avaliação realizada foram analisadas as vantagens, desvantagens e limitações de algumas técnicas de visualização de informação por meio do uso de bases de dados fornecidas pelo ambiente de programação, de matrizes de dados com valores gerados aleatoriamente e de base de dados real. Além disso, as técnicas de visualização foram utilizadas para representação dos resultados obtidos com a aplicação do algoritmo de agrupamento K-médias. O principal objetivo da avaliação apresentada neste trabalho é fornecer subsídios para o uso de técnicas de visualização de informação na análise de resultados obtidos com a aplicação de técnicas de mineração de dados, contribuindo para um melhor entendimento desses resultados. Portanto, a intenção não foi criar regras ou receitas sobre a utilização das visualizações, por existir grande variedade de técnicas de visualização de informação e ser difícil afirmar o quanto cada uma delas consegue representar o potencial analítico de 89 mineração de dados. Neste trabalho foram analisadas a tarefa de agrupamento e seis visualizações de informação, classificadas em duas técnicas de visualização (projeção geométrica e iconográfica). Os resultados da avaliação realizada demonstraram o quanto cada técnica de visualização analisada pode contribuir no entendimento tanto de dados originais existentes nas bases de dados quanto de resultados obtidos com a aplicação de um algoritmo de agrupamento. Assim, pode-se concluir que o uso adequado de técnicas de visualização facilita a análise de dados em geral de resultados da mineração de dados. A linguagem R, utilizada na aplicação do algoritmo de agrupamento e na geração das visualizações mostrou ser um recurso viável apesar de fornecer um processo semi-automático onde é necessário o envolvimento do analista na realização de determinadas tarefas. Nesta linguagem existem diversas bibliotecas que contêm algoritmos para realização da tarefa de MD, por exemplo, a biblioteca “R-WEKA” que permite a utilização dos algoritmos da ferramenta WEKA5. Porém, os resultados desses algoritmos, quando possível, devem ser adaptados para a sua utilização em outra função que projeta visualização. Como trabalhos futuros podem ser citados: • Avaliação de outras técnicas de visualização, por exemplo: Técnicas Orientadas a Pixel e Técnicas Hierárquicas. • Agregação de técnicas de interação nas funcionalidades de visualização existentes na linguagem R, por exemplo: zoom e filtragem interativa na visualização de coordenadas paralelas. • Construção de uma interface na linguagem R com recursos de manipulação, limpeza e tratamento da base de dados. • Integração das funcionalidades que implementam algoritmos de mineração de dados e técnicas de visualização de informação na linguagem R, como por exemplo, adaptar a saída da função “k-means” (algoritmo de agrupamento) para a entrada da função “parcoord” (visualização de coordenadas paralelas). 5 Weka (Waikato Environment for Knowledge Analisys) ferramenta especifica para mineração de dados escrita em java. Contemplando conjuntos de algoritmos para realização das tarefas de agrupamento, classificação e associação. 90 • Elaborar uma avaliação contemplando outras tarefas de MD (classificação, associação, regressão e etc...), e verificar quais dentre as técnicas de visualização podem ser integradas às tarefas de MD. 91 REFERÊNCIAS AGRAWAL, R.; IMIELINSKI, T.; SWAMI, A. Mining Association Rules Between Sets of Itens in Large Databases. In: ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 1993, Washington, Proceedings... Washington, ACM, 1993. p. 207-216. BARIONI, M. C. N. Visualização de operações de junção em sistemas de bases de dados para mineração de dados. 2002. Dissertação (Mestrado)-Instituto de Ciências Matemáticas e de Computação,Universidade de São Paulo, São Carlos, 2002. BENDIX, F.; KOSARA, R.; HAUSER H. Parallel sets: visual analysis of categorical data. In: IEEE SYMPOSIUM INFORMATION VISUALIZATION, 5., Washington, 2005, Proceedings... Washington: IEEE Computer Society, 2005. p. 133–140. CARD, S. K.; MACKINLAY, J. D.; Shneiderman, B. Readings in information visualization: Using Vision to Think. San Francisco: Morgan Kaufmann, 1999. CARLANTONIO, L. M. Novas metodologia para clusterização de dados. Dissertação (Mestrado)-Engenharia Civil, Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2001. CHERNOFF, H. The use of faces to represent points in K-Dimensional space graphically. Journal of the American Statistical Association, New York, v. 68, no. 342, p. 361-367, 1973. CHI, E. H.; RIEDL, J. T. An operator interaction framework for visualization spreadsheets. In: IEEE SYMPOSIUM INFORMATION VISUALIZATION, 1998, Washington, Proceedings... Washigton: IEEE Computer Society, 1998. p. 63-70. CRESPO, A. A. Estatistística fácil. 17. ed. São Paulo: Saraiva, 1999. DIAS, M. M. Um modelo de formalização do processo de sistema de descoberta de Conhecimento em banco de dados. 2001. Tese (Doutorado)-Pós Graduação em Engenharia de Produção, Universidade Federal de Santa Catarina. Florianópolis, Santa Catarina, 2001. DIAS, M. M. Parâmetros na escolha de técnicas e ferramentas de mineração de dados. Acta Scientiarum, Maringá, v. 24, n. 6, p. 1715-1725, 2002. DOWNING, D.; CLARK, J. Estatística aplicada. 2. ed. São Paulo: Saraiva, 2002. EBERT, D. S.; ROHRER, M. R.; SHAW D. C; PANDA P.; KUKLA M. J.; ROBERTS A.D. Procedural shape generation for multi-dimensional data visualization. Computers & Graphics, New York, v. 24, no. 3, p. 375-384, 2000. ESTIVALET, L. F.; FREITAS, C. M. D. S. O Uso de ícones na visualização de informações. 2000. Dissertação (Mestrado)-Instituto de Informática, Programa de Pós Graduação em Computação, Universidade Federal do Rio Grande do Sul, Porto Alegre. 2000. 92 FAYYAD, U. M.; PIATESTKY SHAPIRO, G.; SMYTH, P. From data mining to knowledge discovery: an overview. In: FAYYAD, U. M. et al. (Ed.). Advances knowledge discovery and data mining. Menlo Park: AAAI, 1996a. p. 1-36. FAYYAD, U.; PIATETSKY S. G.; SMYTH, P. The KDD process for extracting useful knowledge from volumes of data. Communications of the ACM, v. 39, no. 11, p. 27-35, 1996b. FEKETE, J.; PLAISANT, C. Interactive information visualization of a million items. In: IEEE SYMPOSIUM ON INFORMATION VISUALIZATION, 2., 2002, Boston. Proceedings... Boston: IEEE, 2002. p. 117. FREITAS, C. M. D. S. et al. Introdução à visualização de informações. Revista de Informática Teórica e Aplicada, Porto Alegre, v. 8, n. 2, p. 143-158, 2001. GERSHON, N.; EICK, S. G. Information visualization. IEEE Computer Graphics and Applications, New York, v. 17, no. 4, p. 29-31, 1997. GOEBEL, M.; GRUENWALD, L. A Survey of Data Mining and Knowledge Discovery Software Tools. ACM SIGKDD Explorations, New York, v. 1, no. 1, p. 20-33, June. 1999. GOLDSCHMIDT, R. Assistência inteligente à orientação do processo de descoberta de conhecimento em bases de dados. 2003. Tese (Doutorado)-Programa de Pós-graduação em Engenharia Elétrica, Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, 2003. GOLDSCHMIDT, R.; PASSOS, E. Data Mining um guia pratico. 1. ed. Rio de Janeiro: Campus, 2005. HUANG, Z.; Clustering Large Data Sets with Mixed Numeric and Categorical Values Proceedings… First Pacific-Asia: Conf. Knowledge Discovery and Data Mining, 1997. pages 21-34 HRUSCHKA, E. R.; EBECKEN, N. F. F. A genetic algorithm for cluster analysis. Intelligent Data Analysis, Netherlands, v. 7, no.1, p.15-25, 2003. INSELBERG, A. DIMSDALE, B. Parallel coordinates: a tool for visualizing multidimensional geometry. In: CONFERENCE ON VISUALIZATION ’90, 1., 1990, San Francisco. Proceedings… Los Alamitos: IEEE Computer Society, 1990. p. 23-26. JOHNSON, A. R.; WICHNER, W. D. Applied multivariate statistical analysis. New Jersey: Prentice-Hall, 1982. KEIM, D. A.; KRIEGEL, H. P. Visualization techniques for mining large databases: a comparion. IEEE Transactions on Knowledge and Data Engineering, Los Alamitos, v. 8, no.6, p. 923-938, Dec. 1996. KEIM, D. A. Information visualization and visual data mining. IEEE Transactions on Visualization and Computer Graphics, Los Alamitos, v. 8, no.1 p. 1-8, Jan. 2002. 93 KOSARA, R.; SAHLING, G.; HAUSER, H. Linking scientific and information visualization with interactive 3D scatterplots. In: INTERNATIONAL CONFERENCE IN CENTRAL EUROPE ON COMPUTER GRAPHICS, VISUALIZATION AND COMPUTER VISION SHORT COMMUNICATION. 12., 2004, Proceedings... p. 133–140, 2004. LEE, M. D.; REILLY, R. E.; BUTAVICIUS, M. A. An empirical evaluation of chernoff faces, star glyphs, and spatial visualizations for binary data. In: AUSTRALIAN SYMPOSIUM ON INFORMATION VISUALIZATION, 24., 2003, Australia. Proceedings... Austrália, 2003. p.1-10. MACKINLAY, J. Automating the design of graphical presentations of relational information. ACM Transactions on Graphics, New York, v. 5, no.2, p. 110–141. 1986. MENEZES, E. M.; SILVA, E. L. Metodologia da pesquisa e elaboração de dissertação. Santa Catarina: Ed. da UFSC, 2001. NASCIMENTO, H.; FERREIRA, C. Visualização de Informação – uma abordagem prática. In: CONGRESSO DA SOCIEDADE BRASILEIRA DE COMPUTAÇÃO, 25., 2005, São Leopoldo. Anais... São Leopoldo: Unisinos, 2005. p. 1262-1312. PFLEEGER, L. S. Engenharia de software teoria e pratica. 2. ed. São Paulo: Pearson Prentice Hall, 2004. PRASS, F. S. Estudo comparativo entre algoritmos de análise de agrupamentos em data mining. 2004. Dissertação (Mestrado)-Pós-graduação em ciência da computação, Universidade Federal de Santa Catarina. Florianópolis, 2004. PINHEIRO, L. C. Método de representaçăo espacial de clustering. 2006. Dissertação (Mestrado)-Pós-Graduaçăo em Informática, Universidade Federal do Paraná, Curitiba, 2006. PUNTAR, G. S. Métodos e Visualização de Grupamentos de Dados. 2003. Dissertação (Mestrado)-Pós Graduação em Engenharia, Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2003. THE R projetc for statistical computing. Disponível em: <http://www.r-project.org/.> Acesso em: 27 jun. 2007. RODRIGUES. J. F. Desenvolvimento de um framework para análise visual de informação suportando data mining. 2003. Dissertação (Mestrado)-Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, São Carlos, 2003. RUNDENSTEINER, E. A. et al. XmdvTool: visual interactive data exploration and trend discovery of high-dimensional data sets. In: ACM SIGOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA. 2002, Madison. Proceedigns... Madison: ACM, 2002. p. 631. 94 RUSSO, S. C.; GROS, P.; ABEL, P. Visualização tridimensional de grandes volumes de informação. In: CONGRESSO LUSO-MOÇAMBICANO DE ENGENHARIA, 1999. Maputo. Proceedigns... Maputo: Eurocom, 1999. p. 73-87. v. 2. SHIMABUKURU, H. M. Visualização temporal em uma plataforma software extensível e adaptável. 2004. Tese (Doutorado)-Instituto de Ciência Matemática e de Computação. Universidade de São Paulo, São Carlos, 2004. SHIMAKURA, E. S. “Tipo de dados” Disponível <http://leg.ufpr.br/~shimakur/CE001/node7.html>. Acesso em 20 mar. 2007. em: TRAINA, A. J. M.; BARIONI C. M.; BOTELHO E.; FALOUSTSOS C.; RAZENTE H. et al. Data visualization in RDBMS. In: IASTED INTL. CONFERENCE ON INFORMATION SYSTEMS AND DATABASES. 2002, Tóquio. Proceedings... Anaheim: ACTA, 2002. p. 264-269. v. 1. VAZ, F. R. CARVALHO, L. C. Visualização de informação. Instituto de Informática, Universidade Federal de Goiás, Goiás, 2004. Relatório Técnico. WEGMAN, E. J.; LUO, Q. High Dimensional clustering using parallel coordinates and the grand tour. Computing Science and Statistics, v. 28, p. 352-360, 1996. WONG, P.C. Visual data mining. IEEE Computer Graphics and Applications, Los Alamitos, v.19, no.5, p. 20-21, Sep./Oct. 1999. 95 APÊNDICE A - ALGORITMOS DE AGRUPAMENTO A.1 - ALGORITMO K-MÉDIAS EM PORTUGOL Numero de grupos (k); Ler os registros que serão agrupado; Enquanto existir objetos não agrupado faça Calcule a distância entre o elemento e os centróides; Adicione o elemento ao agrupamento que possuir a menor distância; Recalcule o centróide do agrupamento; fim para para Todos os k agrupamentos faça Calcule a Soma de Quadrados Residual; fim para repita para todos os n elementos faça Mova o elemento para os outros agrupamentos; Recalcule a Soma de Quadrados Residual; se soma dos Quadrados Residual diminuiu então O objeto passa a fazer parte do agrupamento que produzir maior ganho; Recalcule a Soma de Quadrados Residual dos agrupamentos alterados; fim se fim para até Número de interações = i ou Não ocorra mudança de objetos 96 A.2 - FUNÇÃO DO ALGORITMO DE AGRUPAMENTO K-MÉDIA NA LINGUAGEM R Obs: frases em itálico no código e precedidas do símbolo “#” são comentários. > kmeans(x, centers, iter.max = 10, nstart = 1, method = "euclidean") Exemplos de código: # fonte: documentação do R > x <- rbind(matrix(rnorm(100, sd = 0.3), ncol = 2), matrix (rnorm (100, mean = 1, sd = 0.3), ncol = 2)) > colnames(x) <- c("x", "y") > (cl <- kmeans(x, 2)) > plot(x, col = cl$cluster) > points(cl$centers, col = 1:2, pch = 8, cex=2) #agrupamento da base de dados USArrests > library(amap) > x = USArrests > x > # carrega o pacote em memória # atribuir a base de dados numa variável # exibir base de dados cl<-Kmeans(x,5,method = armazena na variável “cl” > cl # exibir agrupamento "euclidean") #Agrupar os elementos e 97 # agrupar base de dados uem > library(amap) #carregar pacote na memória > library(Rweka) #carregar pacote do weka > x<-read.arff('D:/uem_medicina.arff') #carregar a base de dados uem que esta formato de leitura do WEKA> > cl<-Kmeans(x,5,method = "euclidean") # agrupar a base > cl #exibir agrupamento 98 APÊNDICE B - VISUALIZAÇÃO DE INFORMAÇÃO UTILIZANDO LINGUAGEM R Obs: frases em itálico no código e precedidas do símbolo “#” são comentários. B.1 - MATRIZ DE DISPERSÃO Função: plot(x, col, pch, type …) Paramêtros: • x - base de dados; • col - propriedade cor para cada registro; • pch - propriedade tipo formato para cada registro; • type – tipo dos componentes utilizado na visualização, "p" pontos, "l" para linhas, "b" pontos utilizando linhas, "h" para histograma, "s" linhas verticais e horizontais ligando os pontos. • ... – existência de outros parâmetros. Exemplos de códigos: #fonte: documentação do R > plot(cars) > lines(lowess(cars)) > plot(sin, -pi, 2*pi) ## Distribuição discreta > plot(table(rpois(100,5)), type = "h", col = "red", lwd=10, main="rpois(100,lambda=5)") Projeção da visualização da matriz de dispersão representado o resultado do algoritmo “kmedias” aplicado na base de dados “USArrests #Projeção da Figura 4.11 (matriz de dispersão) > x = USArrests #carregar a base > cl<-Kmeans(x,5,method = "euclidean") # agrupar os registros 99 > plot(x,col=cl$cluster) # projetar visualiação #projeção da Figura 4.14 (matriz de dispersão com destaque para característica correlação) > ma_correlacao <- function(a,b, digits=2, prefix="", cex.cor) {função para exibição da matriz} { u <- par("u"); on.exit(par(u)) par(u = c(0, 1, 0, 1)) r <- abs(cor(a,b)) txt <- format(c(r, 0.123456789), digits=digits)[1] txt <- paste(prefix, txt, sep="") if(missing(cex.cor)) cex <- 0.8/strwidth(txt) test <- cor.test(a,b) Signif <- symnum(test$p.value, corr = FALSE, na = FALSE, cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), symbols = c("***", "**", "*", ".", " ")) text(0.5, 0.5, txt, cex = cex * r) text(.8, .8, Signif, cex=cex, col=2) } >pairs(USArrests, lower.panel= panel.smooth,upper.panel= ma_correlacao) B.2 - DISPERSÃO DE DADOS TRIDIMENSIONAL (SCATTER PLOT 3D) Pacote: scatterplot3d Função: scatterplot3d(x, y=NULL, z=NULL, color=par("col"), pch=NULL, main=NULL, sub=NULL, xlim=NULL, ylim=NULL, zlim=NULL, xlab=NULL, ylab=NULL, zlab=NULL, scale.y=1, angle=40, axis=TRUE, tick.marks=TRUE, label.tick.marks=TRUE, grid=TRUE, box=TRUE, ...) Parâmetros: • x – fonte de dados, caso utilize este parâmetros somente como coordenada é necessário utilizar o parâmetro y e z; • y, z– coordenada y e z; • color – propriedade cor; • pch – uso de simbolos; • main – titulo da visualização; • sub – sub-titulo da visualização; • xlim, ylim, zlim – limites para as coordenadas; 100 • xlab, ylab, zlab – títulos para os eixos; • scale.y – determinação escalas; • angle – projeção em diferentes ângulos; • axis – valor lógico que indica a remoção dos eixos; • tick.marks – valor lógico que permite a remoção das linhas tracejadas; • label.tick.marks – valor lógico para exibir layout dos valores das linhas tracejadas; • grid – valor lógico que indica se as linhas devem ser visualizadas; • Box – valor lógica que indica a presença de um cubo na visualização Exemplos de códigos: #fonte: documentação do R #visualização da figura b.1 – Mistura de cores > library(scatterplot3d)# carregar pacote > cc <- colors() > crgb <- t(col2rgb(cc)) > par(xpd = TRUE) > rr <- scatterplot3d(crgb, color = cc, box = FALSE, angle = 24, xlim = c(-50, 300), ylim = c(-50, 300), zlim = c(-50, 300)) > cubedraw(rr) > rbc <- rainbow(201) > Rrb <- t(col2rgb(rbc)) > rR <- scatterplot3d(Rrb, color = rbc, box = FALSE, angle = 24, xlim = c(-50, 300), ylim = c(-50, 300), zlim = c(-50, 300)) > cubedraw(rR) > rR$points3d(Rrb, col = rbc, pch = 16) Figura b.1 – Visualização dispersão de dados 3d Representando um cubo com mistura de cores- Fonte: Documentação R 101 # projeção da Figura 5.7: Dispersão de dados tridimensional representando resultado do algoritmo de agrupamento da base UEM2005”. x <- read.table('D:/base_de_teste/uem_2005.txt') # carregar a base de dados uem > y <- x[-4]... # selecionar os atributos de interesse > cl<-Kmeans(x,5,method = "euclidean") # agrupar a base > library(scatterplot3d)# carregar pacote > scatterplot3d(y, color=cl$cluster,type="h",angle=55, scale.y=0.7, pch=16, main="scatterplot3d - 5") #Projeção da base de dados utilizando o atributo cor para representar os grupos B.3 - COORDENADAS PARALELAS Pacote: MASS Função: parcoord(x, col = 1, lty = 1, var.label = FALSE, ...) Parâmetros: • x – base de dados; • col – propriedade cor (vetor); • lty – tipo de linhas (vetor); • var.label – valor lógico que indica a necessidade de layout. Exemplos: # Projeção da Figuras 5.5: Coordenadas paralelas gerado pelo algoritmo K-means utilizando a base de dados “uem/2005”. > x <- read.table('D:/base_de_teste/uem_2005.txt') #carregar a base de dados uem > y <- x[-4]... # selecionar os atributos de interesse > cl<-Kmeans(x,5,method = "euclidean") #agrupar a base > parcoord((x), col = cl$cluster) # projeção da Figura 4.1a x<-matrix(sample(1:10000,3400,),100,100) 102 cl<-Kmeans(x,3,method = "euclidean") parcoord((x), col = cl$cluster) B.4 - FACES DE CHERNOFF Pacote: TeachingDemos Função: faces(xy, which.row, fill = FALSE, nrow, ncol, scale = TRUE, main, labels) Parametros: • xy – x representa os registros e y os atributos (fonte de dados); • which.row –valor lógico que permite a permutação na linhas; • fill – se este valor é verdadeiro somente os atributos da base mapeado nas propriedades da face sofrem transformação; • Nrow – número de colunas da face; • Scale- valor lógico que permite normalizar a escala das propriedades da face; • Main – titulo da visualização; • Labels – valor lógico que determina a projeção do layout para cada ícone. Exemplos: #fonte: documentação do R – figura b.2 faces(rbind(1:3,5:3,3:5,5:7)) data(longley) faces(longley[1:9,]) set.seed(17) faces(matrix(sample(1:1000,128,),16,8),main="random faces") Figura b.2 – faces de chernof com valores aleatórios 103 Exemplos: # Projeção da Figuras f.2: representa a faces de chernoff com todos os registros da base de dados “USArrests”, o número acima da face, significa a qual grupo cada face pertence, agrupamento gerado pelo algoritmo k-means. > library(amap) > library (TeachingDemos) > x = USArrests > cl<-Kmeans(x,5,method = "euclidean") > faces(cl$centers) > faces(x,labels=matrix(cl$cluster)) Figura F.2 – Faces de Chernoff, representando todos os registros da base de dados “USArrests”, com o layout (número) representando o número do grupo a qual pertence. B.5 - STAR PLOT Pacote: graphics Função: stars(x, full = TRUE, scale = TRUE, radius = TRUE, labels = dimnames(x)[[1]], nrow = NULL, ncol = NULL, len = 1, key.loc = NULL, key.labels = dimnames(x)[[2]], key.xpd = TRUE, ...) Paramêtros: 104 • x- fonte de dados (matriz ou data frame) • full – parâmetro lógico, para o valor “True” é projeção é realizada em todo o circulo, caso contrario é projetado na metade do circulo • scale – parâmetro lógico, para o valor “true” os dados são projetado numa escala de 0 a 1. • Radius - parâmetro lógico, habilita e desabilita os eixos emitidos, deixando apenas as retas que conectam as pontas dos eixos. • Labels – layout de cada icone. • nrow,ncol – Numero de linhas e colunas • len - tamanho dos eixos. Exemplo: # Visualização da Figura 5.3 > x <- read.table('D:/base_de_teste/uem_2005.txt') #carregar a base de dados uem > library(graphics)# carregar biblioteca na memória > y <- x[-13] #retirar o atributo class > stars(y, key.loc = c(8, 2.5),main = "analise dos candidatos cluster" , flip. Labels=FALSE) #projetar visualização # Visualização da Figura 4.7a > stars(b,len = 0.8, key.loc = c(9, 1.5),draw.segments = TRUE)