gráfico e análise de rede no Databricks

Este artigo apresenta uma visão geral dos recursos do site Databricks para análise gráfica e uma introdução aos conceitos gráficos básicos. Os gráficos também são comumente chamados de redes, especialmente no contexto de uma área específica de estudo, como redes sociais ou redes de comunicação.

Um gráfico é um conjunto de vértices conectados por bordas. Os vértices geralmente também são conhecidos como nós, e as bordas às vezes são chamadas de links, relacionamentos ou arcos. Por exemplo, as redes sociais representam as conexões entre as pessoas. Outros exemplos incluem redes de transporte, como conexões de voo, transporte ou ônibus entre cidades, e redes de telecomunicações, como os cabos que transportam o tráfego da Internet entre servidores. O processamento gráfico também é comumente usado em áreas como detecção de fraudes ou ameaças e recomendação de produtos. Muitos problemas de negócios se beneficiam do entendimento e da análise de redes por meio do processamento gráfico, que é especialmente poderoso quando combinado com outras técnicas analíticas, incluindo machine learning.

O diagrama mostra um exemplo simples. Os nós desta rede são 6 países na Europa Ocidental e Central. As linhas ou bordas no diagrama indicam que dois países compartilham uma fronteira.

Gráfico simples com 6 nós

Databricks Runtime ML inclui pacote de análise de rede para problemas em qualquer escala. Para redes relativamente pequenas que podem ser processadas em um único nó compute, use o NetworkX. Para redes grandes que exigem processamento distribuído, use GraphFrames. O senhor também pode instalar código aberto pacote adicional, conforme necessário, ou conectar-se a parceiros e ferramentas externas para processamento gráfico e visualização.

O restante deste artigo descreve os conceitos básicos de análise de rede e inclui um Notebook que usa o pacote NetworkX para ilustrar alguns desses conceitos.

conceitos de análise gráfica e de rede

Esta seção descreve alguns dos conceitos básicos da análise de rede.

Nódulos e bordas

Na análise de rede, uma rede, ou gráfico, consiste em um conjunto de nós e um conjunto de bordas, ou links, que conectam os nós. Os nós representam as coisas que estão sendo conectadas, como pessoas ou cidades. As bordas representam as conexões ou relacionamentos entre eles, como pessoas que trabalharam juntas ou estações de ensino que têm um vínculo direto entre si.

Os nós também são chamados de vértices, pontos ou entidades. As bordas também são chamadas de linhas, relacionamentos ou links.

Redes direcionadas e não direcionadas

Uma vantagem em uma rede pode representar um relacionamento unidirecional, como um fã seguindo uma celebridade em uma rede social, ou um relacionamento bidirecional, como colegas de trabalho. Se as bordas puderem ser unidirecionais, a rede é chamada de direcionada. Se as bordas não tiverem uma direção associada, a rede é chamada de não direcionada.

Bordas ponderadas

As bordas podem ter pesos. Exemplos de pesos em uma rede podem ser a capacidade de carga de uma rodovia ou cabo.

Grau

O grau de um nó é o número de arestas vinculadas a ele. Por exemplo, no diagrama anterior, o nó “França” tem um grau de 4.

No gráfico direcionado, o grau de entrada é o número de arestas que chegam ao nó e o grau de saída é o número de arestas que se afastam do nó.

Propriedades da rede e do nó

Caminho mais curto

O caminho mais curto é a distância mínima entre dois nós, levando em conta account os links direcionais e, opcionalmente, os pesos das bordas. Por exemplo, no diagrama anterior, o caminho mais curto entre os nós Alemanha e Espanha passa pela França, para uma distância de caminho de 2.

Centralidade

A centralidade é uma forma de medir a importância de um nó em uma rede. Existem várias medidas diferentes de centralidade. O grau de centralidade de um nó é baseado na fração de nós em uma rede à qual o nó está diretamente conectado. A centralidade de intermediação de um nó é a fração dos caminhos mais curtos em uma rede que passa pelo nó.

Distribuição de graus

A distribuição de graus de uma rede é o número de nós de cada grau. Ele fornece informações sobre a estrutura e a organização da rede.

Diâmetro

O diâmetro de uma rede é o máximo dos caminhos mais curtos entre quaisquer dois nós. O diâmetro é equivalente à excentricidade máxima dos nós em uma rede.

Densidade

A densidade de um gráfico é o número de arestas no gráfico dividido pelo número total de arestas possíveis. Em um gráfico não direcionado, o número total de arestas possíveis é n(n-1)/2, em que n é o número de nós. Em um gráfico direcionado, cada borda tem duas direções possíveis, portanto, o número total de bordas possíveis é n(n-1).

Redes de pequenos mundos

A maioria das redes do mundo real não está conectada aleatoriamente e, em vez disso, exibe algum tipo de padrão e subestrutura. Um exemplo desse padrão em redes envolvendo pessoas é o “fenômeno do mundo pequeno”, pelo qual observamos subgrupos intimamente ligados e um curto comprimento médio de caminho entre quaisquer dois nós. Esses padrões são muito comuns na prática e levam a problemas comuns no processamento gráfico em escala, como ocorrências naturais de distorção de dados a serem enfrentadas no processamento de gráficos grandes.

Exemplo de notebook

O exemplo de Notebook a seguir usa o pacote NetworkX, incorporado ao Databricks Runtime para ML, para ilustrar alguns conceitos básicos de análise de rede.

Análise gráfica básica usando o NetworkX Notebook

Abra o bloco de anotações em outra guia