• Nenhum resultado encontrado

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

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).

5Weka (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.

• 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.

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.

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.

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.

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 em:

<http://leg.ufpr.br/~shimakur/CE001/node7.html>. Acesso em 20 mar. 2007.

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.

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

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) # carrega o pacote em memória

> x = USArrests # atribuir a base de dados numa variável

> x # exibir base de dados

> cl<-Kmeans(x,5,method = "euclidean") #Agrupar os elementos e armazena na variável “cl”

> cl # exibir agrupamento

# 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

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 “k-medias” 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

> 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;

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

# projeção da Figura 5.7: Dispersão de dados tridimensional representando resultado do algoritmo de agrupamento da base 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

> 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)

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

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))

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:

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.

Documentos relacionados