Trabalhando com dados do gráfico em python para a ciência de dados

A maioria dos cientistas de dados devem trabalhar com os dados do gráfico em algum ponto. Python dá-lhe essa funcionalidade. Imaginem pontos de dados que estão ligados a outros pontos de dados, por exemplo, como uma página web está ligado a outra página web através de hiperlinks. Cada um desses pontos de dados é um

. Os nós conectar uns aos outros usando ligações.

Nem todos os links de nó para todos os outros nós, de modo que as conexões de nó se tornar importante. Ao analisar os nós e as suas ligações, você pode realizar todos os tipos de tarefas interessantes na ciência de dados, como definir a melhor maneira de ir do trabalho a sua casa usando ruas e rodovias.

Compreender a matriz de adjacência

A matriz de adjacência representa as ligações entre os nós de um gráfico. Quando há uma conexão entre um nó e outro, a matriz indica-lo como um valor maior do que 0. A representação precisa dos conexões na matriz depende se o gráfico é dirigida (em que a direcção das matérias de ligação) ou não-dirigido.

Video: Gráficos com Python e Matplotlib #2: Lendo de um arquivo e plotando um gráfico

Um problema com muitos exemplos on-line é que os autores mantê-los simples para fins explicativos. No entanto, os gráficos do mundo real são muitas vezes imenso e desafiar a análise fácil simplesmente através da visualização. Basta pensar sobre o número de nós que mesmo uma pequena cidade teria ao considerar cruzamentos. Muitos outros gráficos são muito maiores, e simplesmente olhando para eles nunca vão revelar quaisquer padrões interessantes. cientistas dados chamar o problema de apresentar qualquer gráfico complexo utilizando uma matriz de adjacência um hairball.

Uma chave para analisar matrizes de adjacência é classificá-los de maneiras específicas. Por exemplo, você pode optar por classificar os dados de acordo com outras do que as conexões reais propriedades. Um gráfico de conexões de ruas poderá incluir a data da rua foi pavimentada passado com os dados, o que torna possível para você procurar padrões que direcionam alguém com base nas ruas que estão no melhor de reparação. Em suma, tornando útil os dados do gráfico se torna uma questão de manipular a organização de que os dados de maneiras específicas.

Usando básico NetworkX

Trabalhando com gráficos pode se tornar difícil se você tinha que escrever todo o código a partir do zero. Felizmente, o pacote NetworkX para Python torna fácil para criar, manipular e estudar a estrutura, dinâmica e funções de redes complexas (ou gráficos). Você pode usar o pacote para trabalhar com dígrafos e Multigrafo também.

A principal ênfase do NetworkX é evitar toda a questão de bolas de pêlo. O uso de chamadas simples esconde muito da complexidade do trabalho com gráficos e matrizes de adjacência de vista. O exemplo seguinte mostra como para criar uma matriz básica de adjacência de uma das gráficos NetworkX-fornecidos:



importar NetworkX como NxG = nx.cycle_graph (10) A = nx.adjacency_matrix (L) de impressão (A.todense ())

O exemplo começa importando o pacote requerido. Em seguida, cria um gráfico utilizando o cycle_graph () modelo. O gráfico contém dez nós. chamada matriz de adjacência() cria a matriz de adjacência a partir do gráfico. O passo final é a imprimir a saída como uma matriz, como mostrado a seguir:

[[0 1 0 0 0 0 0 0 0 1] [1 0 1 0 0 0 0 0 0 0] [0 1 0 1 0 0 0 0 0 0] [0 0 1 0 1 0 0 0 0 0] [ 0 0 0 1 0 1 0 0 0 0] [0 0 0 0 1 0 1 0 0 0] [0 0 0 0 0 1 0 1 0 0] [0 0 0 0 0 0 1 0 1 0] [0 0 0 0 0 0 0 1 0 1] [1 0 0 0 0 0 0 0 1 0]]

Você não tem que construir o seu próprio gráfico a partir do zero para fins de teste. o local NetworkX documenta uma série de tipos de gráfico padrão que você pode usar, todos os quais estão disponíveis dentro IPython.

É interessante ver como o gráfico parece depois de gerá-lo. O código a seguir mostra o gráfico para você.

Traçando o gráfico original.

Video: Gráficos com Python e Matplotlib #8: Plotando datas e dados de arquivos XLS Excel

Traçando o gráfico original.
matplotlib.pyplot importação como pltnx.draw_networkx (L) plt.show ()

A trama mostra que você pode adicionar uma aresta entre os nós 1 e 5. Aqui está o código necessário para executar esta tarefa usando o add_edge () função.

Video: Curso de Python - Aula 15 - Entrada de Dados - eXcript

Determinação da adição gráfico.
Determinação da adição gráfico.
G.add_edge (1,5) nx.draw_networkx (L) plt.show ()

Publicações relacionadas