• Nenhum resultado encontrado

Dual scaling viewer: uma ferramenta visual para interpretação comportamental de uma base de dados de contingência

N/A
N/A
Protected

Academic year: 2021

Share "Dual scaling viewer: uma ferramenta visual para interpretação comportamental de uma base de dados de contingência"

Copied!
46
0
0

Texto

(1)

UNIVERSIDADE FEDERAL FLUMINENSE ERIC RODRIGUES DA SILVA

RENATA MARIA DE LIMA RODRIGUES

DUAL SCALING VIEWER: UMA FERRAMENTA VISUAL PARA INTERPRETAÇÃO COMPORTAMENTAL DE UMA BASE DE DADOS DE

CONTINGÊNCIA

Niterói 2019

(2)

ERIC RODRIGUES DA SILVA RENATA MARIA DE LIMA RODRIGUES

DUAL SCALING VIEWER: UMA FERRAMENTA VISUAL PARA INTERPRETAÇÃO COMPORTAMENTAL DE UMA BASE DE DADOS DE

CONTINGÊNCIA

Trabalho de Conclusão de Curso submetido ao Curso de Tecnologia em Sistemas de Computação da Universidade Federal Fluminense como requisito parcial para obtenção do título de Tecnólogo em Sistemas de Computação.

Orientador:

ALTOBELLI DE BRITO MANTUAN

NITERÓI

2019

(3)
(4)

ERIC RODRIGUES DA SILVA RENATA MARIA DE LIMA RODRIGUES

DUAL SCALING VIEWER: UMA FERRAMENTA VISUAL PARA INTERPRETAÇÃO COMPORTAMENTAL DE UMA BASE DE DADOS DE

CONTINGÊNCIA

Trabalho de Conclusão de Curso submetido ao Curso de Tecnologia em Sistemas de Computação da Universidade Federal Fluminense como requisito parcial para obtenção do título de Tecnólogo em Sistemas de Computação.

Niterói, 14 de junho de 2019.

Banca Examinadora:

_________________________________________

Prof. Altobelli de Brito Mantuan, MSc. – Orientador

UFF – Universidade Federal Fluminense

_________________________________________

Prof. Jacó Júlio de Souza Costa, MSc. – Avaliador

(5)

AGRADECIMENTOS

Em primeiro lugar, agradecemos a Deus pela proteção e força para enfrentar esta grande etapa das nossas vidas.

Aos nossos pais e amigos pelo grande incentivo e apoio que sempre nos deram para alcançar esse objetivo.

Ao Professor e orientador Altobelli de Brito Mantuan pela orientação, pela compreensão, pela confiança e pelo estímulo transmitido ao longo do trabalho.

A todos os professores que com seus ensinamentos ajudaram a nos tornar os cidadãos que somos hoje.

Enfim, agradecemos a todos que contribuíram de forma direta ou indireta, para que este projeto se tornasse realidade.

(6)

Talvez meio caminho andado seja a gente acreditar no que faz. Mas acima de tudo, o que mais nos incentiva, que mais nos valoriza e também mais nos torna conscientes de nossa responsabilidade é saber que outros crêem em nós. E não há palavras que descrevam o que sentimos ao saber dos sacrifícios a que eles se impõem por crerem não apenas em nós, mas também no que cremos.

(7)

RESUMO

O Dual Scaling é uma técnica usada para explorar uma estrutura de dados categóricos por meio de manipulações matemáticas complexas. O resultado desse algoritmo é o espaço multidimensional de n dimensões chamado de espaço-solução. Nessa perspectiva, encontra-se a necessidade de desenvolver formas de visualização gráfica destes resultados, de forma a auxiliar o observador em suas tomadas de decisões. Neste trabalho, iremos analisar dados em itemsets de utilidade por meio do algoritmo Dual Scaling, desenvolver uma ferramenta capaz de calcular de forma simples os resultados multidimensionais do Dual Scaling, transformar estes resultados em métricas bidimensionais e representá-los através de conjuntos de gráficos interativos. Por último, apresentamos os testes feitos usando duas bases reais com

itemsets de utilidade, construindo gráficos que vão guiar nosso entendimento

para o comportamento da base.

Palavras-chaves: Dual Scaling, base de dados de contingência, itemsets de utilidade, ferramenta gráfica.

(8)

LISTA DE TABELAS

Tabela 1: Base de dados de transação ... 17

Tabela 2: Exemplos de Itemsets frequentes ... 18

Tabela 3: Exemplo de base de dados de transação com quantidades ... 19

Tabela 4: Exemplo de informação de lucro unitário para itens ... 19

Tabela 5: Cálculo da utilidade do itemset ... 20

(9)

LISTA DE GRÁFICOS

Gráfico 1: Valores dos deltas e do delta acumulado para as dimensões do espaço-solução da base Chess. ... 27 Gráfico 2: Distância de todos os itens para o item 30 da base de dados Chess ... 28 Gráfico 3: Distância dos itens da faixa de 0 a 50 para o item 30 da base de dados Chess ... 29 Gráfico 4: Representação das 20 transações mais relevantes em ordem crescente ao item referência 30 (em vermelho) e suas utilidades (em azul) para a base Chess ... 30 Gráfico 5: Distância intragrupo de todas transições para a transição 0 ... 31 Gráfico 6: Distância intragrupo das 20 transações mais relevantes para a transação 0 ... 31 Gráfico 7: Representação da distância do item 30 para as 20 transações mais relevantes ... 32 Gráfico 8: Distância de todos os itens para o item 30 da base de dados

Foodmart ... 34

Gráfico 9: Distância dos 20 itens mais relevantes para o item 30 da base de dados Foodmart ... 35 Gráfico 10: Representação das 20 transações mais relevantes em ordem crescente ao item referência 30 (em vermelho) e suas utilidades (em azul) para a base Foodmart ... 36 Gráfico 11: Distância intragrupo das 20 transações mais relevantes para a transação 0 na base Foodmart ... 37 Gráfico 12: Representação da distância do item 30 para as 20 transações mais relevantes ... 38 Gráfico 13: Distância de todos os itens para o item 30 da base de dados

Mushroom ... 39

Gráfico 14: Distância dos 20 itens mais relevantes para o item 30 da base de dados Mushroom ... 40

(10)

Gráfico 15: Representação das 20 transações mais relevantes em ordem crescente ao item referência 30 (em vermelho) e suas utilidades (em azul) para a base Mushroom ... 41 Gráfico 16: Distância intragrupo das 20 transações mais relevantes para a transação 0 na base Mushroom ... 42 Gráfico 17: Representação da distância do item 30 para as 20 transações mais relevantes ... 43 Gráfico 18: Perspectiva circular dos itens com relação aos outros itens ... 45

(11)

LISTA DE ABREVIATURAS E SIGLAS

DS – Dual Scaling

(12)

SUMÁRIO

RESUMO ... 7

LISTA DE TABELAS ... 8

LISTA DE GRÁFICOS ... 9

LISTA DE ABREVIATURAS E SIGLAS ... 11

INTRODUÇÃO ... 13 1.1 OBJETIVOS ... 14 2. TRABALHOS RELACIONADOS ... 15 3. FUNDAMENTAÇÃO TEÓRICA ... 17 3.1. BASE DE UTILIDADE ... 17 3.2. ITEMSET DE UTILIDADE ... 21 3.3. DUAL SCALING ... 21

3.4. CÁLCULO DAS DISTÂNCIAS... 23

4. ANÁLISE VISUAL DOS RESULTADOS ... 26

5. APLICAÇÃO EM BASE DE DADOS REAIS ... 33

5.1. BASE DE DADOS FOODMART... 33

5.2. BASE DE DADOS MUSHROOM ... 38

CONCLUSÃO E TRABALHOS FUTUROS ... 44

(13)

13

INTRODUÇÃO

A Mineração de Dados pode ser definida como uma atividade que extrai algumas novas informações não triviais contidas em grandes bancos de dados. As técnicas tradicionais de mineração de dados se têm concentrado principalmente na detecção de correlações estatísticas entre os itens mais frequentes nos bancos de dados de transações [1].

Também denominada como frequent itemset mining, essas técnicas foram baseadas na justificativa de que os conjuntos de itens que aparecem com mais frequência devem ser mais importantes para o usuário do ponto de vista comercial. Neste trabalho, focaremos sobre uma área chamada High

Utility Itemset (HUI) que não apenas considera a frequência dos conjuntos de

itens, mas também considera a utilidade desses conjuntos.

Um dos desafios que se apresenta seria como analisar esses conjuntos de dados com utilidade. Essa análise deve ser feita de maneira eficiente, com ferramentas ou algoritmos que nos auxiliem a extrair informações relevantes que os dados oferecem.

Nessa perspectiva, utilizaremos o Dual Scaling, que é uma técnica usada para explorar uma estrutura de dados categóricos por meio de manipulações matemáticas complexas. Em essência, Dual Scaling quantifica os dados em uma tabela bidirecional (linhas-por-colunas) para maximizar a discriminação entre linhas e entre colunas simultaneamente. Este modo simples de quantificação leva a aspectos interessantes e úteis para a análise de dados [2].

É importante ressaltar que as matrizes geradas pelo Dual Scaling têm como propósito traduzir em números (pontos em n dimensões) as relações entre os atributos da base de dados, e o resultado é apresentado em um espaço-solução de n dimensões. Em outras palavras, esse algoritmo não tem como foco a visualização, mas em fornecer a informação em dados numéricos (distância x-quadrado). Nesse cenário, transformar tais dados numéricos em gráficos mais expressivos e de fácil interpretação é nosso principal objetivo.

(14)

14

1.1 OBJETIVOS

Este trabalho tem o objetivo geral, a análise de dados em HUI por meio do algoritmo Dual Scaling e interpretar os resultados transformando suas 𝑛 dimensões em distâncias dentro de um único plano para a visualização em gráficos de fáceis interpretações.

Além disso, desenvolveremos ao longo desse trabalho os seguintes itens:

• Implementação do algoritmo para cálculo das distâncias dos itens projetados no espaço multidimensional mapeado pelo Dual

Scaling, utilizando C++ como linguagem de programação;

• Desenvolvimento de um método para visualizar graficamente a base de dados com HUI para os dados mais relevantes;

• Aplicação da ferramenta desenvolvida em duas bases de dados de contingência.

O repositório utilizado para o desenvolvimento desse TCC está disponível no link a seguir para consulta de todo o código fonte:

https://github.com/altobellibm/CEDERJ_2019_RENATA_RODRIGUES_E_ERIC _SILVA.git

(15)

15

2. TRABALHOS RELACIONADOS

Neste capítulo apresentamos uma revisão da literatura sobre as possíveis aplicações para itemsets de utilidade. Percebemos que a utilidade prática da mineração de itemset de frequência é limitada pela significância dos conjuntos de itens descobertos. Embora a literatura de mineração tenha sido focada exaustivamente em conjuntos de itens frequentes, em muitas situações práticas, os mais raros são de maior interesse.

Mineração de itemset de utilidade de bancos de dados se refere a encontrar os conjuntos de itens com altos lucros. Assim, o significado da utilidade do conjunto de itens é a relevância, a importância ou a lucratividade de um item para os usuários.

Pillai e Yvas [3] afirmaram que é importante, na perspectiva da estratégia de marketing, identificar combinações de produtos que tenham um impacto significativo no resultado final da empresa, ou seja, que tenham o maior poder de geração de receita. Bhattacharya e Dubey [1], foram mais além, e esclareceram que uma empresa de varejo pode estar mais interessada em identificar seus clientes mais valiosos (clientes que contribuem com uma grande fração dos lucros para o negócio). Estes são os clientes que podem comprar itens com preço cheio ou itens de alta margem que podem estar ausentes de um grande número de transações, porque a maioria dos clientes não compra esses itens com frequência [1].

Outra situação interessante seria os dados de registro da web. Uma sequência de páginas visitadas por um usuário pode ser definida como uma transação. Como o número de visitas a uma página da Web e o tempo gasto em uma determinada página da Web é diferente entre usuários diferentes, o tempo total gasto em uma página por um usuário pode ser visto como um utilitário. Os designers do site podem capturar os interesses ou padrões de comportamento dos clientes observando os utilitários das combinações de páginas e, em seguida, considerar a possibilidade de reorganizar a estrutura de links do site para atender às preferências dos usuários [4].

Na área de medicina, combinações raras de sintomas podem fornecer subsídios úteis para os médicos da causa da doença [1].

(16)

16

Nesse aspecto, o estudo de itemsets de alta utilidade – HUI – é relevante para uma ampla gama de situações reais e práticas durante o processo de mineração [4], e assim, nosso objetivo deve ser identificar conjuntos de itens mais utilizáveis para nós. Em outras palavras, nosso objetivo deve ser usar conjuntos de itens de utilidades para guiar nas construções gráficas desses itens, destacando graficamente os itens de maior relevância, visto que pode existir milhares de combinações entre os itens de base.

(17)

17

3. FUNDAMENTAÇÃO TEÓRICA

Neste capítulo, iremos nortear os conceitos sobre base de utilidade com enfoque em itemset de utilidade. Abordaremos uma visão geral desse problema, explicando sua importância e, em seguida, fundamentaremos os conceitos de Dual Scaling e o cálculo de distâncias entre itens e transações.

3.1. BASE DE UTILIDADE

A Mineração de Dados pode ser definida como uma atividade que extrai algumas novas informações não triviais contidas em grandes bancos de dados. As técnicas tradicionais de mineração de dados têm se concentrado principalmente na detecção de correlações estatísticas entre os itens mais frequentes nos bancos de dados de transações. Também denominada como

frequent itemset, essas técnicas foram baseadas na justificativa de que os

conjuntos de itens que aparecem com mais frequência devem ser mais importantes para o usuário do ponto de vista comercial [5]. Neste tópico, elucidaremos sobre o itemset de utilidade, que é outra vertente que não apenas considera a frequência dos conjuntos de itens, mas também considera a sua utilidade.

Para ilustrar, consideraremos o seguinte banco de dados.

Tabela 1: Base de dados de transação

Transição Itens

T1 {a, b, c, d, e}

T2 {a, b, e}

T3 {c, d, e}

T4 {a, b, d, e}

A Tabela 1 representa um conjunto de transações feitas pelos clientes. Uma transação é um conjunto de itens comprados por um cliente. Nesse exemplo, o primeiro cliente comprou os itens “a”, “b”, “c”, “d” e “e”, enquanto o segundo comprou os itens “a”, “b” e “e”.

(18)

18

O objetivo da mineração de itemsets frequentes é encontrar conjuntos de itens frequentes. Muitos algoritmos populares foram propostos para este problema, como Apriori, FPGrowth, LCM, Eclat, etc [6]. Esses algoritmos tomam como entrada um banco de dados de transações e um parâmetro “minsup” chamado de limite mínimo de suporte definido pelo usuário. Esses algoritmos retornam todos os conjuntos de itens (itemsets) que aparecem em pelo menos minsup transações. Por exemplo, se definirmos minsup = 2, no nosso exemplo, encontraríamos vários desses conjuntos de itens (chamados de conjuntos de itens frequentes), como na tabela a seguir:

Tabela 2: Exemplos de Itemsets frequentes

Itemset Suporte {e} 4 {d, e} 3 {b, d, e} 2 {a} 3 ... ...

Por exemplo, considere o conjunto de itens {b, d, e}. Esse conjunto possui um suporte de 2 porque aparece em duas transações (T1 e T4), e é dito que é frequente porque o suporte de {b, d, e} não é menor que minsup.

Embora a mineração frequente de itemsets seja útil, ela possui três limitações importantes. O primeiro é que as quantidades de compra de itens em transações são ignoradas. Assim, a compra de várias unidades de um item é considerada tão importante quanto a compra de uma única unidade. Isso não é realista para aplicativos como análise de mercado. A segunda limitação é que todos os itens são considerados igualmente importantes. Mas na realidade, alguns itens podem ser mais importantes para o usuário. Por exemplo, em uma loja de varejo, a venda de um laptop é vista como mais importante do que a venda de um computador, já que o primeiro gera um lucro muito maior. A terceira limitação é que padrões frequentes podem não ser os mais interessantes para o usuário. Por exemplo, na análise do mercado de compras,

(19)

19

o montante do lucro pode ser mais importante do que a frequência de venda [6].

Para resolver essas limitações, foi desenvolvido, a partir da mineração frequente de itemsets, o conceito da mineração de itemsets de alta utilidade. O termo utilidade refere-se à importância do conjunto de itens em transações quantificadas em termos como lucro, vendas ou quaisquer outras preferências do usuário. No itemset de utilidade, o objetivo é identificar os conjuntos de itens que possuem valores de utilidade acima de um determinado limite de utilidade [1].

Nesse problema, um banco de dados de transações contém transações nas quais as quantidades de compras são consideradas, bem como o lucro unitário de cada item. Por exemplo, considere os seguintes bancos de dados de transações (Tabela 3 e Tabela 4).

Tabela 3: Exemplo de base de dados de transação com quantidades Transação Itens

T0 {a(1), b(5), c(1), d(3), e(1)} T1 {a(4), b(3), e(3)}

T2 {c(1), d(1), e(1)} T3 {a(2), b(6), d(2), e(1)}

Tabela 4: Exemplo de informação de lucro unitário para itens Item Lucro unitário

a $5 b $2 c $1 d $2 e $3

Considere a transação T3 da Tabela 3. Indica que o cliente correspondente comprou duas unidades do item “a”, seis unidades do item “b”, duas unidades do item “d” e uma unidade do item e. Já Tabela 4 indica o lucro

(20)

20

unitário de cada item. Por exemplo, o lucro unitário dos itens “a”, “b”, “c”, “d” e “e” são respectivamente $5, $2, $1, $2 e $3.

O problema da mineração de conjunto de itens de alta utilidade é encontrar os itemsets que geram um alto lucro em um banco de dados, quando são vendidos juntos. O usuário deve fornecer um valor para um limite chamado “minutil” (o limite mínimo de utilitário). Um algoritmo de mineração de itemset de alta utilidade gera pelo menos o lucro “minutil”. Por exemplo, considere que “minutil” está definido como $25 pelo usuário. O resultado de um algoritmo de mineração de HUI seria o seguinte.

Em geral, a utilidade de um conjunto de itens em uma transação é a quantidade de cada item do conjunto de itens multiplicada pelo lucro da unidade. Por exemplo, considere Tabela 3. O lucro de {b, d} na transação T0 é 2 x 5 + 2 x 3 = $16. Da mesma forma, o lucro de {b, d} na transação T3 é 2 x 6 + 2 x 2 = $16. Agora, o utilitário de um conjunto de itens no banco de dados inteiro é a soma de seu utilitário em todas as transações em que aparece. Assim, para {a, e}, sua utilidade é a soma de 16 + 16 = $32, porque esse conjunto aparece apenas nas transações T0 e na transação T3.

Tabela 5: Cálculo da utilidade do itemset Itemset Utilidade {a, b} $63 {a, e} $50 {b, d} $32 {b, e} $43 {a, b, d} $47 {a, b, e} $78 {a, d, e} $31 {b, d, e} $38 {a, b, d, e} $53 {a, b, c, d, e} $25

(21)

21

3.2. ITEMSET DE UTILIDADE

De uma perspectiva algorítmica, o itemset de utilidade é considerado mais difícil do que o itemset de frequência, porque a utilidade de um itemset pode ser igual, maior ou menor que a de seus subconjuntos. Two-Phase é o primeiro algoritmo correto e completo para mineração de itens de alta utilidade. Ele estende o algoritmo Apriori e depende de um limite superior no utilitário, chamado TWU (Transaction Weight Utility), para manter a propriedade antimonotônica. Como a mineração de HUI é um problema difícil, vários algoritmos mais eficientes foram propostos [6] como por exemplo HUI-Miner, FHM e EFIM.

Nesse trabalho foi utilizado o algoritmo EFIM que cria recursivamente bancos de dados horizontais projetados e mesclando transações idênticas em bancos de dados projetados. Foi demonstrado que o EFIM pode ser várias ordens de magnitude mais rápido do que FHM e HUI-Miner em base de dados densos, mas nem sempre executa o melhor em base de dados esparsos.

3.3. DUAL SCALING

O Dual Scaling é uma técnica versátil para uma vasta gama de tipos de dados. De fato, sua ampla aplicação é constantemente expandida para lidar com os diversos desafios no campo da mineração de dados. Ele foi proposto por Nishisato [2], que afirma que o Dual Scaling pode ser empregado para descobrir estilos de respostas em diversos tipos de bases de dados.

Dual Scaling, por meio de manipulações matemáticas complexas, determina conjuntos de pontuações e pesos para explicar ao máximo os dados da solução ótima de uma matriz. Um dos critérios utilizados nesta quantificação é tornar a relação entre linhas e colunas tão linear quanto possível. Em outras palavras, os dois conjuntos de pesos foram determinados de modo a maximizar a correlação produto-momento entre as respostas ponderadas pelos pesos das linhas e as ponderadas pelos pesos das colunas. Esse processo de determinar conjuntos pontuações e pesos de continua até que os dados originais possam ser perfeitamente reproduzidos, ou seja, até que os dados sejam

(22)

22

exaustivamente analisados. Esse processo é chamado de dados de decomposição multidimensional [2]

Visto a principal propriedade do Dual Scaling e seguindo o escopo proposto para este trabalho, representaremos nossa base de dados com dados do tipo contingência como uma matriz D. Definiremos então uma matriz F de padrão de respostas de tamanho n x m, onde cada transação (n) é representada como linhas da matriz e os itens (m) ficam organizados como colunas da matriz.

Definiremos também o número de dimensões do espaço-solução ns, dado pela equação:

ns = mín(n,m)-1 (1)

Em seguida, determinaremos os vetores de frequência de linhas e colunas de 𝐹 (𝑓𝑟𝑛 e 𝑓𝑐𝑚). O vetor 𝑓𝑟𝑛 é o somatório das linhas da matriz de padrão de respostas 𝐹, e o vetor 𝑓𝑐𝑚 é o somatório das colunas da matriz de padrão de respostas 𝐹.

Uma vez conhecidos os vetores de frequência, construiremos as matrizes diagonais 𝐷𝑟𝑛,𝑛 e 𝐷𝑐𝑚,𝑚. A matriz diagonal de linhas 𝐷𝑟𝑛,𝑛 é uma matriz quadrada de tamanho 𝑛×𝑛, onde os valores do vetor 𝑓𝑟𝑛 serão os valores da diagonal principal da matriz F. Similarmente, a matriz diagonal de colunas 𝐷𝑐𝑚,𝑚 é a matriz quadrada de tamanho m×m gerada através da diagonalização do vetor de frequência de colunas 𝑓𝑐.

A partir desses dados, pode-se calcular as correlações entre colunas da matriz F, que auxiliará no cálculo de autovetores V e autovalores 𝜆, de modo que o número máximo de elementos em 𝜆 e colunas em 𝑉 devem ser iguais ao número de dimensões do espaço-solução.

Definiremos também 𝜌 como um vetor que contém os multiplicadores para as colunas da matriz de pesos padrão, definido pela equação:

(23)

23

Em seguida, poderemos calcular as coordenadas finais de cada um dos itens no espaço-solução (x-projected weights) e as coordenadas finais de cada uma das transações no espaço-solução (y-projected weights).

Por fim, é importante calcular o vetor ns, que representa os valores do percentual de representatividade de cada uma das n dimensões do espaço-solução. O cálculo de  acontece por meio da equação 3:

𝛿𝑖 = λ𝑓𝑖( 100 ∑ λf𝑛𝑠

1

) (3)

Para maiores detalhes de cálculo e representação das equações matemáticas envolvidas, recomenda-se a leitura do trabalho de José Fortes [7]. Em resumo, as notações utilizadas no Dual Scaling para esse trabalho foram definidas como:

• F = matriz de dados n x m, sendo composta por utilidade de itens; • 𝑓𝑟𝑛 = vetor nx1 dos totais de linhas de F,

• 𝑓𝑐𝑚 = vetor mx1 dos totais de coluna de F,

• 𝐷𝑟𝑛,𝑛 = matriz diagonal com elementos de 𝑓𝑟𝑛 na diagonal principal,

• 𝐷𝑐𝑚,𝑚 = matriz diagonal com elementos de 𝑓𝑐𝑚 na diagonal principal,

• Py = um vetor de pesos para as linhas de F e, • Px = um vetor de pesos para as colunas de F

•  = percentual de representatividade de cada uma das n dimensões

3.4. CÁLCULO DAS DISTÂNCIAS

As distâncias são classificadas de distância intragrupo, subdividida em distâncias entre itens e entre transações, e distância intergrupo, que são as distâncias dos itens para as transações, e vice-versa.

Para o cálculo da distância intragrupo entre itens, utilizaremos a distância quadrada entre os itens em um espaço-solução de n dimensões

(24)

24

usando a métrica chi-quadrado (8). Com essa equação, é possível então calcular a matriz de distância quadrada entre os itens, que é de grande relevância para a análise, pois quanto menor a distância ente os itens, mais relacionados eles estão um do outro.

𝑑𝑖,𝑖2′ = ∑ 𝜌𝑘 𝑛𝑠 𝑘=1 ( 𝑃𝑥𝑖,𝑘 √𝑓𝑐𝑖 𝑛 −𝑃𝑥𝑖′,𝑘 √𝑓𝑐𝑖′ 𝑛 ) 2 (4)

onde 𝑃𝑥𝑖,𝑘 e 𝑃𝑥𝑖′,𝑘 são as 𝑘-ésimas coordenadas dos itens indexados por 𝑖 e 𝑖 ′, respectivamente, 𝑓𝑐𝑖 e 𝑓𝑐𝑖′ são os k-ésimos índices do vetor de frequência de colunas e 𝑛 é o número de linhas da matriz de padrão de respostas 𝐹 .

Utilizaremos também a distância quadrada entre as transações em um espaço-solução de n dimensões pela métrica chi-quadrado:

𝑑𝑗,𝑗2 ′ = ∑ 𝜌𝑘 𝑛𝑠 𝑘=1 ( 𝑃𝑦𝑗,𝑘 √𝑓𝑟𝑗 𝑚 −𝑃𝑦𝑗′,𝑘 √𝑓𝑟𝑗′ 𝑚 ) 2 (5)

onde 𝑃𝑦𝑗,𝑘 e 𝑃𝑦𝑗′,𝑘 são as 𝑘-ésimas coordenadas das transações indexadas por 𝑗 e 𝑗′, respectivamente, 𝑓𝑟𝑗 e 𝑓𝑟𝑗′ são os k-ésimos índices do vetor de frequência de linhas e 𝑚 é o número de colunas da matriz de padrão de respostas 𝐹. Através das coordenadas de cada transação, é possível então calcular a matriz de distância quadrada entre elas.

Nesse panorama, as distâncias intragrupos [8] dos itens e das transações são obtidas por meio de suas coordenadas correspondentes. Porém para abranger a relação de distância intergrupos dos itens para as transações, ou das transações para os itens, temos que considerar que os dois pontos (de linha e de coluna) pertencem a espaços-solução diferentes e, dessa forma, o ângulo que existe entre o solução dos itens e o espaço-solução das transações deve ser considerado. Desse modo, ao calcular o

(25)

25

ângulo de discrepância 𝜃, utilizaremos a lei do cosseno para obter a distância entre um item 𝑖 e uma transação 𝑗, através da equação:

𝑑𝐴𝐵 = √𝑎2+ 𝑏2− 2𝑎𝑏. 𝑐𝑜𝑠𝜃 (6)

onde 𝑎 é a distância do ponto 𝐴 até a origem e 𝑏 é a distância do ponto 𝐵 até a origem. Quando utilizamos a lei do cosseno, descrita na equação (6), e aplicando na métrica chi-quadrado, teremos a equação (7) para o cálculo da distância entre itens e transações:

𝑑𝑖,𝑗2 = ∑ 𝜌𝑘 𝑛𝑠 𝑘=1 (𝑃𝑦𝑗,𝑘² 𝑝𝑗 +𝑃𝑥𝑖,𝑘 2 𝑝𝑖 − 2√𝜌𝑘 𝑃𝑦𝑗,𝑘 𝑃𝑥𝑖,𝑘 √𝑝𝑗𝑝𝑖 ) (7)

onde 𝑝𝑖 é a proporção marginal do item 𝑖, dado por 𝑝𝑖 = 𝑓𝑐𝑖/𝑛; e 𝑝𝑗 é a proporção marginal da transação 𝑗, dada por 𝑝j = 𝑓rj/m.

O cálculo das distâncias se faz de extrema importância, uma vez que graficamente não temos como enxergar mais de 3 dimensões. Assim, em termos de representações gráficas, as distâncias intragrupos e intergrupos se fazem mais importantes até do que o próprio espaço-solução do Dual Scaling.

(26)

26

4. ANÁLISE VISUAL DOS RESULTADOS

Uma vez calculadas todas as distâncias, poderemos gerar as suas representações gráficas correspondentes e iniciar o objetivo maior deste trabalho, que consiste na análise visual dos resultados.

Nossa primeira análise será com relação ao percentual de representatividade das dimensões ()

Em seguida, analisaremos o gráfico com relação às distâncias intra-grupo dos itens, em razão de sabermos quais os itens que mais se relacionam entre si. Com esse conhecimento, poderemos definir grupos de itens para armazená-los de forma mais coesa, aumentando assim a performance no acesso a essas informações. Ressalta-se que, como dito anteriormente, a relação entre os itens é inversamente proporcional às suas distâncias, ou seja, quanto menor a distância entre eles, mais relacionados eles estão.

O próximo passo, faremos a análise das distâncias entre as transações utilizando gráficos de dispersão, em que poderemos observar as transações que têm maior relação entre si (mais próximo ao eixo x).

Os gráficos foram construídos de forma que as distâncias maiores recebem um ponto menor e as menores distâncias são atribuídas por pontos maiores para ressaltar a sua relevância. Além disso, para melhor visualizar, há um degradê de cores, sendo o amarelo a cor mais próxima do eixo e o roxo a cor mais afastada.

Faremos também uma análise das distâncias dos itens mais relevantes e suas utilidades. A expectativa é verificar se os itens mais relevantes ao item referência são o de maior utilidade.

Exemplificando, utilizaremos uma base de dados chamada Chess, obtida a partir do repositório SPMF[9]. Nessa base existem 75 itens, numerados de 0 a 74, e 3196 transações, numeradas de 0 a 3195.

O Gráfico 1 mostra os valores de delta para as 74 dimensões da base

Chess, bem como seu acumulado conforme acrescenta-se as dimensões.

Observa-se que com apenas 25 dimensões temos uma representatividade de 75,81%, ou seja, as outras 49 dimensões representariam somente 24,19%. Em

(27)

27

uma outra análise, 1/3 das dimensões da base Chess representa quase 3/4 do espaço-solução.

Gráfico 1: Valores dos deltas e do delta acumulado para as dimensões do espaço-solução da base Chess.

É importante ressaltar que o visualizador não nos permite fazer uma análise global de todos os itens e transações. Em outras palavras, precisamos eleger um item referência para visualizar seu comportamento em relação aos outros itens. Tomamos como exemplo um item qualquer escolhido de forma aleatória, por exemplo, o item 30 para podermos visualizar a distância intragrupo de todos os itens com relação a este item, como mostra o Gráfico 2.

(28)

28

Gráfico 2: Distância de todos os itens para o item 30 da base de dados Chess

Pelo Gráfico 2, podemos observar uma grande quantidade de itens na faixa do amarelo, entre 0 a 50 unidades de distância, alguns pontos na região intermediária (pontos verde e azul), entre 50 e 200, e um único item bem afastado (item 58) na região de 400. Em outra ótica, há vários itens de grande relevância para o item referência 30 e o item 58 é o que possui menor relevância nesse caso.

Para melhor visualizarmos os itens mais bem relacionados ao item 30, escolhemos um número limite de itens que possuem a menor distância intragrupo, na faixa de 0 a 50. Assim, plotamos o Gráfico 3 contendo 63 itens.

(29)

29

Gráfico 3: Distância dos itens da faixa de 0 a 50 para o item 30 da base de dados Chess

Observa-se, pelo Gráfico 3, que a densidade de pontos próximos ao eixo dos itens ficou menor, permitindo uma melhor visualização dos itens mais relevantes, ou seja, o gráfico ficou menos “poluído”. Verifica-se ainda, que o item de maior relevância com relação ao item 30 seria o item 59 (distância de 10,33), seguido pelos itens 54 e 51.

Visto os itens mais relevantes para o item 30, fizemos o gráfico que mostra a utilidade do item com relação à distância do item referência. A ideia era comparar o resultado das distâncias dos itens com a utilidade que os mesmos possuem. No primeiro momento, podemos pensar que quanto menor a distância do item, maior seria sua utilidade. Porém, de acordo com o Gráfico 4, o resultado encontrado para os 20 itens mais relevantes com relação ao item referência 30 mostra que não há essa relação esperada. Ou seja, um item que possui alta utilidade com relação ao item 30 não será necessariamente a de maior relevância, podendo predominar outros itens de menor utilidade, mas de maior frequência. Assim, analisando o Gráfico 4, podemos observar que o item 39 é o de maior utilidade e seria o 15º item dos 20 mais relevantes. Já o item

(30)

30

de menor distância, item 59, possui uma utilidade mediana com relação ao item 30.

Gráfico 4: Representação das 20 transações mais relevantes em ordem crescente ao item referência 30 (em vermelho) e suas utilidades (em azul) para a base Chess

Os Gráficos 5 e 6 representam a distância intragrupo de transação, ou seja, distância de transação para transação. Como descrito anteriormente, para a base de dados Chess, temos 3195 transações. Para exemplificar a visualização, determinamos uma transação ao acaso (transação 0). O Gráfico 5 apresenta o resultado das distâncias de todas as transações para a transação 0. Observa-se a poluição visual do gráfico, podendo extrair pouquíssima informação. Assim, para evitar poluição gráfica, e conseguirmos encontrar significado gráfico, limitamos o número de 20 transações mais relevantes intragrupo para a transação 0.

(31)

31

Gráfico 5: Distância intragrupo de todas transições para a transição 0

Gráfico 6: Distância intragrupo das 20 transações mais relevantes para a transação 0

(32)

32

De acordo com o Gráfico 6, a transação mais relevante para a transação 0 seria a de número 541, com uma distância de 228,87.

Analisando na perspectiva da distância item x transação para o item 30 e limitando para 20 transações mais relevantes para esse item, Gráfico 7, observamos que a transação 2213 seria a mais próxima do item referência, seguida pelas transações 692 e 137.

Gráfico 7: Representação da distância do item 30 para as 20 transações mais relevantes

(33)

33

5. APLICAÇÃO EM BASE DE DADOS REAIS

Para analisar graficamente os resultados de bases em diferentes situações, testamos o algoritmo com dois conjuntos de dados diferentes, designadas como Foodmart e Mushroom, obtidos a partir do repositório SPMF[9]. A Tabela 6 mostra as características das bases usadas nos testes.

Tabela 6: Conjunto de dados usado Conjunto de dados Quantidade de itens Nº de transações Distância média de transação Foodmart 1559 4141 4,4 Mushroom 119 8124 23

Nesta sessão conduziremos um conjunto de experimentos e análises no algoritmo proposto, SCIM. Nós implementamos nosso algoritmo em C++. Os experimentos foram executados em uma máquina com CPU I7 4.0GHz e 16GB de memória RAM rodando o sistema operacional Windows 8 64-bits.

5.1. BASE DE DADOS FOODMART

FoodMart é uma base de dados apresentada como um data mart,

contendo as medidas “Store Sales”, “Store Costs” e “Unit Sales”, e as dimensões “Product”, “Time”, “Customer”, “Store” e “Promotion”. A “FoodMart” tem como objetivo moldar uma perspectiva de análise de vendas e custos de uma cadeia de lojas e as promoções em cada uma das vendas efetuadas.

Nessa base existem 1559 itens, numerados de 0 a 1558, e 4141 transações, numeradas de 0 a 4140. O primeiro passo para nossa análise é aplicar em nossa base de dados o cálculo do Dual Scaling. Feito isso, temos para a base Foodmart um espaço-solução com 1558 dimensões, algo impossível de ser visualmente analisado.

Tomamos como exemplo um item qualquer escolhido de forma aleatória, por exemplo, o item 30, como mostra o Gráfico 8, onde podemos notar uma grande quantidade de itens na faixa do amarelo, e um único item bem afastado

(34)

34

(item 297). Como a visualização fica prejudicada pela escala, optamos por limitar em 20 itens de maior utilidade, como mostra o Gráfico 9.

Gráfico 8: Distância de todos os itens para o item 30 da base de dados

(35)

35

Gráfico 9: Distância dos 20 itens mais relevantes para o item 30 da base de dados Foodmart

O Gráfico 9 mostra que o item 512 é o mais relevante para o item 30 que está a uma distância de 183.141,97.

Já o Gráfico 10 mostra a utilidade do item com relação à distância do item referência. Mais uma vez, vemos que não existe uma relação linear de quanto menor a distância maior a utilidade. Assim, analisando o Gráfico 10, verificamos que o item 145 é o de maior utilidade e seria o 7º item dos 20 mais relevantes. Já o item de menor distância, item 512, possui a segunda maior utilidade com relação ao item 30. Observa-se ainda que a maioria dos 20 itens mais relevantes ao item 30 não possui utilidade.

(36)

36

Gráfico 10: Representação das 20 transações mais relevantes em ordem crescente ao item referência 30 (em vermelho) e suas utilidades (em azul) para a base Foodmart

De acordo com o Gráfico 11, a transação mais relevante para a transação 0 seria a de número 2880 seguida por 3827.

(37)

37

Gráfico 11: Distância intragrupo das 20 transações mais relevantes para a transação 0 na base Foodmart

O Gráfico 12 representa a perspectiva da distância item x transação para o item 30, limitado para 20 transações mais relevantes para esse item. Nesse gráfico, observamos que a transação 3164 seria a mais próxima do item referência. A segunda melhor transação seria 1497 que estaria razoavelmente afastada da transação mais relevante.

(38)

38

Gráfico 12: Representação da distância do item 30 para as 20 transações mais relevantes

5.2. BASE DE DADOS MUSHROOM

Este conjunto de dados inclui descrições de amostras hipotéticas correspondentes a 23 espécies de cogumelos cultivados na família Agaricus e Lepiota. Cada espécie é identificada como definitivamente comestível, definitivamente venenosa ou de comestibilidade desconhecida e não é recomendada. Esta última classe foi combinada com a venenosa. O Guia afirma claramente que não existe uma regra simples para determinar a comestibilidade de um cogumelo [10].

Nessa base existem 119 itens, numerados de 0 a 118, e 8124 transações, numeradas de 0 a 8123. Para analisarmos essa base, seguiremos os mesmos passos realizados para a base Foodmart. Ressalta-se que a base Mushroom possui dimensão 118 de acordo com a equação 1.

(39)

39

Mais uma vez elegemos como exemplo o item 30. Como mostra o Gráfico 13, há uma quantidade de itens na faixa do amarelo, poucos itens na faixa da cor azul e um único item bem afastado de roxo (item 105).

Gráfico 13: Distância de todos os itens para o item 30 da base de dados

Mushroom

Limitamos em 20 o número de itens mais relevantes para melhor conhecer o comportamento. O Gráfico 14 mostra os 20 itens mais relevantes para o item referência. Nota-se que o item 47 possui a menor distância que seria 323.5.

(40)

40

Gráfico 14: Distância dos 20 itens mais relevantes para o item 30 da base de dados Mushroom

Analisando o Gráfico 15, verificamos que o item 93 é o de maior utilidade e seria o 3º item dos 20 mais relevantes para o item referência. Já o item de menor distância, item 47, possui uma utilidade média com relação aos outros 19 itens.

(41)

41

Gráfico 15: Representação das 20 transações mais relevantes em ordem crescente ao item referência 30 (em vermelho) e suas utilidades (em azul) para a base Mushroom

Para a distância intragrupo de transação, escolhemos a transação 0 para exemplo de ilustração. De acordo com o Gráfico 16, a transação mais relevante para a transação 0 dessa base seria a transação 280 (ponto amarelo). A transação 542 (ponto verde) é a segunda transação mais importante.

(42)

42

Gráfico 16: Distância intragrupo das 20 transações mais relevantes para a transação 0 na base Mushroom

O Gráfico 17 representa a distância intergrupo para o item 30, limitado para 20 transações mais relevantes para esse item. Nesse gráfico, observamos que a transação 7988 (ponto amarelo) seria a mais relevante ao item referência. Observa-se ainda que as outras 19 transações mais relevantes encontram-se a uma grande distância com relação à transação 7988.

(43)

43

Gráfico 17: Representação da distância do item 30 para as 20 transações mais relevantes

(44)

44

CONCLUSÃO E TRABALHOS FUTUROS

Neste trabalho, vimos como é importante, dada a grande quantidade de informação obtidas a partir das bases de dados utilizando HUI, conseguir efetuar de forma simples a análise dos dados. Dessa forma, realizamos essa análise comportamental de forma intuitiva e visual, baseado em métricas de distâncias em um único plano sem a necessidade de um conhecimento prévio do objeto de estudo. Com esse visualizador, o observador consegue facilmente identificar os itens mais relacionados e suas utilidades, comportamentos interessantes e características importantes nos dados analisados, podendo assim, um analista de dados direcionar seus estudos de forma muito mais rápida e assertiva.

Ao utilizar a ferramenta desenvolvida em bases reais, verificamos a eficácia da ferramenta na obtenção rápida e precisa de conjuntos de itens com forte relação entre si. A ferramenta gráfica desenvolvida, manipulada por especialistas nos assuntos, será de grande valia para interpretação e obtenção de dados HUIs.

Podemos sugerir como trabalhos futuros, o desenvolvimento de gráficos de projeções que evidenciam o comportamento dos HUI com as projeções no espaço-dimensões. Além disso, fica evidente a necessidade de desenvolver uma ferramenta gráfica que representa de forma global as relações intragrupos. Nesse trabalho não foi possível desenvolvê-la, porque não foi encontrado na literatura uma base pequena para comparar os resultados.

Por fim, sugerimos um gráfico polar numa primeira tentativa de se fazer uma análise global das relações dos itens entre si. Pela perspectiva circular, cada item (dimensão) é representado por um raio do círculo. No caso da base

Chess apresentada, onde há 75 itens, haverá 75 raios, um para cada item.

Além disso, cada item (raio) recebe uma cor diferente, por exemplo, item 1 recebe a cor lilás, item 2 recebe verde e assim por diante para melhor visualização. O centro do círculo seria um ponto referência 0. E cada raio do círculo contém a distância do elemento referência aos demais. Ou seja, na base Chess, cada raio contém 74 pontos representando as distâncias entre os outros itens da base. Como se depreende do Gráfico 18, há muita informação,

(45)

45

que o torna poluído. Distâncias como 300 são evidentemente desinteressantes, pois não representam afinidades entre itens. Deve-se, então, criar um limiar de distâncias que interesse ao analista. Isso pode ser feito pelas n menores distâncias ou por um raio limite r. No entanto, mais estudos precisam ser realizados a fim de comprovar a eficácia do gráfico sugerido.

(46)

46

REFERÊNCIAS BIBLIOGRÁFICAS

1. BHATTACHARYA S.; DUBEY, D. High Utility Item Set Mining. International Journal of Emerging Technology and Advanced Engineering. 2012, 2(8).

2. NISHISATO, S.; NISHISATO, I. Dual Scaling in a Nutshell. Toronto: MicroStats, 1994.

3. PILLAI, J.; VYAS, O. P. Overview of Itemset Utility Mining and its Applications. International Journal of Computer Applications. 2010, 5(11).

4. LIU, Y.; LIAO, W-K; CHOUDHARY, A. A Fast High Utility Itemsets Mining Algorithm, Chicago: Electrical and Computer Engineering Department, Northwestern University, 2005.

5. AUGUSTIN, A.; PAUL, V. High Utility Itemsets Mining – A Brief Explanation with a Proposal. International Journal of Science and Research (IJSR). 2016, 5(11).

6. FOURNIER-VIGER, P.; ZHANG, Y.; CHUN-WEI, LIN J.; FUJITA, H. KOH, Y. S. Mining local and peak high utility itemsets. Information Sciences. 2019, 481.

7. FORTES, J. L. S. Dual Scaling Viewer: Uma Ferramenta Visual para Interpretação Comportamental de uma Base de Dados. Universidade Federal Fluminense. 2018.

8. NISHISATO, S.; CLAVEL, J. G. A Note on Between-Set Distances in Dual Scaling and Correspondence Analysis. Vol. 30, Behaviormetrika. 2003.

9. FOURNIER-VIGER, P.; GOMARIZ, A.; GUENICHE, T.; SONTANI, A.; WU, C. W.; TSENG, V. S. SPMF: a Java open-source pattern mining library. JMach Learn. 2014, 15.

10. DUA, D.; GRAFF, C. UCI Machine Learning Repository. Irvine, CA: University of California, School of Information and Computer Science., 2019.

Referências

Documentos relacionados

Lembrando que a espectrofotometria de infravermelho se trata de uma análise da superfície da amostra e sendo a Figura 2, referente ao da disper- são controle, contendo somente o

período este onde também foram realizadas análises de pH, umidade, proteína, gordura, atividade de água, presença de nitrato e nitrito e índice de peróxidos. Os

O Conselho Federal de Psicologia (CFP) apresenta à categoria e à sociedade em geral o documento de Referências Técnicas para a Prática de Psicólogas(os) em Programas de atenção

São considerados custos e despesas ambientais, o valor dos insumos, mão- de-obra, amortização de equipamentos e instalações necessários ao processo de preservação, proteção

Also due to the political relevance of the problem of repressing misguided employment relationships, during the centre-left Prodi Government (2006-2008) and the

A finalidade do “Documento de Arquitetura de Software - DAS” é definir um modelo arquitetural para ser aplicado ao desenvolvimento dos jogos do Desafio SEBRAE, bem como

Outro aspecto a ser observado é que, apesar da maioria das enfermeiras referirem ter aprendido e executado as fases do processo na graduação, as dificuldades na prática