Preparando dados para o Gephi

Um grafo é uma coleção de vértices que podem ser conectados uns aos outros através das arestas, onde cada aresta conecta dois vértices. Para uma definição mais formal poderíamos dizer que: Um grafo G consiste de uma coleção de vértices V e arestas E, que pode ser representado como G = (V,E). (Steen; 2010) .

Esses conjuntos de nós e arestas, podem ser importados para o Gephi através de arquivos que estejam em formato CSV (Comma-separated values), que são um dos formatos que podem ser importados para o Gephi.  Esses arquivos podem ser criados em programas como o Excel, ou editores de textos tais como Bloco de Notas ou NotePad++.

Na Fig. 1 é demonstrado um exemplo básico de um arquivo de nós, que possui apenas a coluna para o identificador (Id), obrigatoriamente, esse campo deve ser nomeado dessa forma.

NosExcel1
Figura 1 – Arquivo de nós com o campo Id

Como explicado anteriormente, os dados devem ser salvos no formato CSV, como demonstrado na Fig. 2:

salvandoCSV
Figura 2 – Salvando o arquivo no formato CSV

A visualização do arquivo de nós no aplicativo NotePad++ é demonstrada na Fig. 3:

NosNotePad++
Figura 3 – Arquivo de nós no Notepad++.

A seguir, na Fig. 4, é demonstrado um conjunto de arestas, que possui dois elementos. As colunas devem ser nomeadas como Source (origem) e Target (destino).

 

arestasExcel
Figura 4 – Arquivo de arestas no NotePad++

Na Fig. 5 é exibida o arquivo de arestas no Notepad++. Como pode ser observado, os dados das respectivas colunas estão separados pelo caracter “;” :

ArestasNotePad++
Figura 5 – Arquivo de arestas no NotePAd++.

Esses exemplos são ainda muito simples e não são muito úteis quando os grafos forem visualizados, para contornar esse problema podemos inserir um rótulo para os nós e para as arestas. Para isso utilizaremos o campo Label, nos exemplos anteriores:

NosLabelExcel
Figura 6 – Campo Label adicionado ao arquivo de nós.

 

NosBlocoDeNotas
Figura 7 – Arquivo de Nós no bloco de notas.

 

ArestasLabelExcel
Figura 8 – Campo Label no arquivo de arestas.
ArestasBlocoDeNotas
Figura 9 – Visualizando arquivo de arestas no Bloco de Notas.

A seguir são demonstrados alguns nomes de campos que podem ser utilizados para os arquivos de arestas no Gephi:

  • Weight – adiciona um peso a aresta, ou seja, quanto maior o peso de determinada arestas, maior será sua espessura na visualização;
  • Type – identifica o tipo das arestas, os valores possíveis para esse campo são: “Directed”, “Undirected” ou “Mixed”. Por exemplo se a aresta é direcionada deve ser utilizado o valor Directed.

Com os dados preparados podemos utilizá-los no Gephi, a importação desses será demonstrada futuramente.

 


Autor: Cristiano Manhães de Oliveira

Analista/ Engenheiro de Produção


REFERÊNCIAS

Gephi – https://gephi.org/users/supported-graph-formats/spreadsheet/

Notepad-plus – https://notepad-plus-plus.org/

STEEN, Maarten Van. An Introduction to Graph Theory and Complex Networks, []Book-Watermarked, Version January, 2010.

Layouts no Gephi

Neste post faremos uma breve introdução sobre a utilização de Layouts no Gephi. A documentação original e atualizada pode ser acessada aqui.

Um mesmo grafo pode ser representado de várias formas, por isso os pesquisadores tem reservado um tempo considerável no desenvolvimento de algoritmos para representação dos Grafos (Steen, 2010).

Primeiramente é necessário que seja realizada a instalação de plugins:

  1. Vá ao Menu Ferramentas e posteriormente Plugins;
  2. Selecione os seguintes Plugins disponíveis:
    • OpenOrdLayout;
    • CircularLayout;
    • GeoLayout;
    • Geometric Transformation;
    • NoverlapLayout;
  3. Clique em Instalar. Os Plugins serão instalados e será solicitado que o Gephi seja reiniciado. Clique em OK.

Posteriormente devemos carregar um conjunto de dados para que o grafo possa ser gerado, no GitHub existem vários disponíveis, para esse exemplo iremos utilizar 0 LesMiserables.

Clique no Menu a opção Abrir … escolha o arquivo LesMiserables, depois que o arquivo for carregado clique em OK.

Feito isso deverá aparecer um grafo como o demonstrado a seguir que é a rede de personagens do Livro “Les Miserables” do autor Vitor Hugo.

rede
Exemplo de rede gerada com o arquivo LEsMiserables

Esse grafo é gerado inicialmente randomicamente, o grafo gerado pode ter uma representação um pouco diferente.

O Gephi disponibiliza vários algoritmos para Layout, alguns são demonstrados a seguir:

 

Layouts
Exemplo de Layouts

Para escolher um layout basta ir no painel esquerdo, Distribuição, escolha “Force Atlas”. Em propriedades digite o valor 10000 para força de repulsão e posteriormente clique no botão Executar.Feito isso os Nós do Grafo mudarão de posição em tempo real e deverá ser gerado um grafo similar ao demonstrado na figura a seguir:

grafo1
Grafo gerado com o algoritmo ForceAtlas

Nesse post demonstramos como carregar um exemplo e executar um algoritmo para gerar uma melhor disposição dos nós. Nos próximos post falaremos de outros algoritmos para gerar uma melhor disposição dos Nós.

 


Autor: Cristiano Manhães de Oliveira

Analista/ Engenheiro de Produção


REFERÊNCIAS

Gephi (2016): https://gephi.org/users/tutorial-layouts/ em maio de 2016

Steen, M. V.; An Introduction to Graph Theory and Complex Networks, Book-Watermarked, Version January, 2010

Gephi (Introdução)

Gephi é um software para visualização e exploração para todos os tipos de Grafos e redes, além disso é open-souce e grátis, desenvolvido em Java através da plataforma NetBeans  seu  fonte pode der obtido no GitHub, podendo ser executado em Windows, Mac e Linux, (GEPHI. 2016; GEPHIDevelopers, 2016).

A teoria dos grafos é um campo da matemática que ganhou popularidade nos séculos 19 e 20, principalmente por possibilitar  que os fenômenos de diferentes áreas fossem descritos, dentre elas podemos citar: infraestruturas de comunicação, desenhar e colorir mapas, agendamento de tarefas, estruturas sociais, projeto de redes eletrônicas e estruturas biológicas entre outras. (Steen, M.; 2010 )

Gephi é uma ferramenta para analistas de dados e cientistas que desejam explorar e compreender grafos. O usuário pode interagir com a representação do grafo, manipular as estruturas, formas além de poder revelar padrões escondidos. O objetivo é ajudar os analistas de dados criarem hipóteses, descobrir padrões intuitivamente, isolar singularidades na estrutura ou falhas durante o fornecimento de dados. É uma ferramenta complementar às estatísticas tradicionais, com interfaces interativas facilitando o raciocínio, (GEPHI. 2016). Um vídeo demonstrativo da ferramenta pode ser acessado aqui .

Com a ferramenta podem ser criadas diversas aplicações dentre elas:

  • Análise Exploratória de Dados: análise orientada a intuição por redes manipuladas em tempo real.
  • Análise Link: revelando as estruturas subjacentes de associações entre os objetos.
  • Análise de Redes Sociais: fácil criação de conectores de dados sociais para mapear as organizações comunitárias e redes de pequeno mundo.
  • A análise de redes biológica: representação de padrões de dados biológicos.
  • criação Poster: promoção trabalho científico com mapas imprimíveis alta qualidade.

select-tool

Exemplo de Grafo com Gephi, fonte: (Gephi, 2016)

Com Gephi podem ser utilizadas diversas métricas para a análise de Grafos:

  • Centralidade: usada em sociologia para indicar o quão bem um nó está conectado.
  • E mais: densidade, comprimento do caminho, o diâmetro, HITS, modularidade, coeficiente de agrupamento.

metricsresults

métricas no Gephi, fonte: (Gephi, 2016)

Nos próximos posts, demonstraremos como instalar a ferramenta e algumas de suas funcionalidades.


Autor: Cristiano Manhães de Oliveira

Analista/ Engenheiro de Produção


REFERÊNCIAS

Gephi (2016): https://gephi.org em maio de 2016

GephiDevelopers (2016): https://github.com/gephi/gephi em maio de 2016

Steen, M. V.; An Introduction to Graph Theory and Complex Networks, Book-Watermarked, Version January, 2010