AYUDA DE PYTHON

Stellargraph Python (Cómo funciona para desarrolladores)

Introducción

¿Qué es lo más parecido a la superpotencia de la clarividencia en la realidad? Es la capacidad de hacer predicciones basadas en datos estructurados en gráficos. En su esencia, esto implica interpretar la información como nodos y aristas, donde las relaciones e interacciones dentro del gráfico proporcionan valiosas perspectivas. A diferencia de los métodos tradicionales que se centran en representaciones de datos tabulares o secuenciales, los flujos de trabajo de aprendizaje automático en grafos aprovechan estas conexiones para descubrir patrones ocultos.

Por esta razón, las redes neuronales convolucionales de grafos (GCNs) y los métodos basados en atención de grafos se han adaptado para datos de grafos, permitiendo que los modelos de aprendizaje automático aborden tareas como la clasificación de nodos, la predicción de secuencias, la predicción de enlaces y la categorización de grafos. Estas técnicas son especialmente beneficiosas en dominios que requieren una comprensión matizada de relaciones complejas, capacitando a los sistemas para hacer predicciones precisas o derivar profundos insights, particularmente en áreas como las redes sociales y los sistemas de recomendación.

En este artículo, vamos a usar Stellargraph para generar un gráfico y luego convertirlo en un archivo PDF con la ayuda de IronPDF.

¿Qué es StellarGraph?

StellarGraph es una biblioteca de Python diseñada para el aprendizaje automático con datos estructurados en grafos. Proporciona un conjunto completo de herramientas para crear, manipular y visualizar gráficos. Además, StellarGraph ofrece algoritmos avanzados de aprendizaje automático basados en gráficos, diseñados para aprender y analizar datos de gráficos complejos, lo que incluye la finalización de gráficos de conocimiento.

StellarGraph admite tareas como la clasificación de nodos, la predicción de enlaces y la clasificación de gráficos a través de su implementación de modelos como Redes de Convolución de Grafos y Redes de Atención de Grafos.

Stellargraph Python (Cómo funciona para desarrolladores): Figura 1 - Sitio web de StellarGraph

También está integrado con varios flujos de trabajo populares de aprendizaje automático en grafos, como TensorFlow y Keras, lo que lo convierte en una buena solución para el análisis y la obtención de conocimientos a partir de redes complejas en la mayoría de los campos, como redes sociales, bioinformática y sistemas de recomendación.

Características principales

  • Flujo de trabajo optimizado para el aprendizaje automático de gráficos: StellarGraph simplifica la canalización de aprendizaje automático de gráficos, guiando a los usuarios desde la carga de datos hasta el cálculo de vectores de incrustación y predicciones neuronales. Admite varias técnicas de convolución de grafos, incluidas Deep Graph CNN y Redes de Convolución de Grafos Inductivas, para mejorar las características de los nodos y permitir una potente clasificación de nodos.
  • Técnicas y Modelos Avanzados: La biblioteca incluye modelos sofisticados, como una Red de Atención de Gráficas de Secuencia y GCNs Temporales, diseñados para manejar de manera efectiva datos espaciotemporales y la predicción de secuencias. Estos modelos mejoran la precisión y relevancia de las predicciones aprovechando los atributos temporales de los nodos y los pesos heterogéneos de las aristas dirigidas.
  • Documentación integral y demostraciones locales: StellarGraph ofrece artículos extensos sobre la documentación del algoritmo y cuadernos de demostración que se pueden ejecutar localmente, proporcionando información práctica sobre la implementación de numerosos algoritmos. Estos recursos facilitan una comprensión más profunda del aprendizaje automático basado en grafos y sus aplicaciones.

Comenzando con StellaGraph

Para generar un gráfico usando StellarGraph, se le guiará a través de la instalación de las bibliotecas, creación del gráfico, definición de características de nodos y aristas, y finalmente la configuración de un modelo de aprendizaje automático. Aquí tienes una guía paso a paso para comenzar:

Instalación de StellaGraph y otras bibliotecas relevantes

Primero, querrá asegurarse de que las siguientes bibliotecas estén instaladas correctamente, a continuación también se muestran los comandos utilizados para instalarlas si aún no lo ha hecho:

pip install stellargraph 
pip install tensorflow 
pip install pandas 
pip install numpy
pip install stellargraph 
pip install tensorflow 
pip install pandas 
pip install numpy
SHELL

Usando StellaGraph en Python

Un ejemplo sencillo de cómo definir un grafo, añadiendo características de aristas y nodos con la ayuda de los numerosos algoritmos que se incluyen en Stellargraph:

import pandas as pd
import numpy as np
from stellargraph import StellarGraph
from stellargraph.layer import GCN
from stellargraph.mapper import FullBatchNodeGenerator
import matplotlib.pyplot as plt
import networkx as nx
# Step 1: Create Sample Graph Data
nodes = pd.DataFrame({
    "feature1": np.random.randn(5),
    "feature2": np.random.randn(5)
}, index=[f"node{i}" for i in range(5)])
# Loading data
edges = pd.DataFrame({
    "source": ["node0", "node1", "node2", "node3"],
    "target": ["node1", "node2", "node3", "node4"]
})
# Step 2: Create StellarGraph Object
G = StellarGraph(nodes=nodes, edges=edges)
# Step 3: Define and Visualize the Graph
# Plot the graph
fig, ax = plt.subplots(figsize=(8, 6))
pos = {node: (np.cos(2 * np.pi * i / len(G.nodes())), np.sin(2 * np.pi * i / len(G.nodes())))
       for i, node in enumerate(G.nodes())}
#computing embedding vectors for nodes and edges
nx.draw(G.to_networkx(), pos, with_labels=True, node_color='lightblue', edge_color='grey', node_size=500, font_size=10, ax=ax)
plt.title('StellarGraph Visualization')
plt.savefig('graph.png')  # Save the visualization as an image
plt.close()
py
PYTHON

El ejemplo mostrado ilustra cómo construir un gráfico y su visualización simple usando la biblioteca StellarGraph junto con las bibliotecas Matplotlib y Networkx. El ejemplo comienza importando las bibliotecas necesarias: pandas, Numpy para el manejo de datos; StellarGraph para crear la estructura del grafo en sí; y Matplotlib y Networkx para visualización.

Primero, se toma una muestra de los datos gráficados. En este ejemplo, tenemos el DataFrame de nodos con valores de características aleatorios para cinco nodos con identificadores node0 a node4. El DataFrame de aristas describe las aristas; contiene pares de origen-destino que describen los nodos que están conectados.

A continuación, se crea una instancia de la clase StellarGraph con los datos de nodos y aristas, que almacena esta estructura de datos en el gráfico.

Finalmente, visualiza este gráfico. Proporciona una función para calcular un diseño circular para la colocación de nodos, donde cada nodo se coloca según las coordenadas polares. La biblioteca Networkx convierte entonces este objeto StellarGraph en un gráfico de Networkx, que luego es graficado por Matplotlib. Los nodos son de color azul claro, los bordes son grises, el gráfico está etiquetado y, finalmente, personalizado en términos de tamaño y fuente. Finalmente, la trama se guarda como un archivo de imagen llamado graph.png y se cierra la ventana de trazado.

Salida

Stellargraph Python (Cómo funciona para desarrolladores): Figura 2 - La visualización del gráfico generado

Este flujo de trabajo permite la creación, el aprendizaje de representación y la visualización de un gráfico. Esto hace que sea mucho más fácil realizar análisis y presentar datos basados en gráficos.

Presentación de IronPDF

Stellargraph Python (Cómo Funciona para Desarrolladores): Figura 3 - página web de IronPDF

El módulo IronPDF para Python permite la creación y edición programática de PDFs. Podrás generar PDFs a partir de HTML, fusionar varios archivos PDF en uno, e incluso utilizar PDFs existentes que tengan texto, fotos y anotaciones añadidas. En contraste, IronPDF permite la producción de PDFs de calidad desde cualquier sitio web escrito en HTML u otro contenido de Internet generado al crear informes, facturas u otros documentos previamente estilizados.

Algunas de sus funciones avanzadas son la edición del diseño de la página, el cifrado de documentos, la extracción de contenido de un PDF, y muchas más. Mejorar cómo tus productos manejan archivos PDF colocará mejor a los desarrolladores para mejorar su utilidad general.

Instalación de la biblioteca IronPDF

A continuación se muestra el comando del instalador del paquete que permite a Python habilitar el uso de IronPDF en tus proyectos:

pip install ironpdf
pip install ironpdf
SHELL

Combina Stellargraph con IronPDF

A continuación se muestra el código para generar un PDF a partir de la imagen del gráfico creado por Stellargraph.

import pandas as pd
import numpy as np
from stellargraph import StellarGraph
from stellargraph.layer import GCN
from stellargraph.mapper import FullBatchNodeGenerator
import matplotlib.pyplot as plt
import networkx as nx
from ironpdf import *     import warnings
warnings.filterwarnings('ignore')
# Ensure that you have replaces the string with your own license key
License.LicenseKey = "YOUR LICENSE KEY GOES HERE";
# Step 1: Create Sample Graph Data
nodes = pd.DataFrame({
    "feature1": np.random.randn(5),
    "feature2": np.random.randn(5)
}, index=[f"node{i}" for i in range(5)])
edges = pd.DataFrame({
    "source": ["node0", "node1", "node2", "node3"],
    "target": ["node1", "node2", "node3", "node4"]
})
# Step 2: Create StellarGraph Object
G = StellarGraph(nodes=nodes, edges=edges)
# Step 3: Define and Visualize the Graph
# Plot the graph
fig, ax = plt.subplots(figsize=(8, 6))
pos = {node: (np.cos(2 * np.pi * i / len(G.nodes())), np.sin(2 * np.pi * i / len(G.nodes())))
            for i, node in enumerate(G.nodes())}
# Draw the graph using NetworkX
nx.draw(G.to_networkx(), pos, with_labels=True, node_color='lightblue', edge_color='grey', node_size=500, font_size=10, ax=ax)
plt.title('StellarGraph Visualization')
# Save the visualization as an image
plt.savefig('graph.png')
plt.close()
# Step 4: Convert the image to PDF using IronPDF
ImageToPdfConverter.ImageToPdf('graph.png').SaveAs("result.pdf")
py
PYTHON

Este es un fragmento de código para la creación y visualización de un gráfico a través de la biblioteca StellarGraph, y luego convertir la visualización dibujada en un PDF utilizando IronPDF. Comienza importando las bibliotecas necesarias y estableciendo una clave de licencia de IronPDF. Los datos de muestra del gráfico se generan con características aleatorias para los nodos y bordes especificados. Usando estos datos, se crea el objeto StellarGraph. La biblioteca NetworkX visualiza el gráfico en un diseño circular y lo guarda como una imagen PNG. Después, esta imagen PNG se convierte en un documento PDF mediante el ImageToPdfConverter de IronPDF.

Salida

Stellargraph Python (Cómo funciona para desarrolladores): Figura 4 - PDF generado con visualización de gráfica

Licencias

Se necesita una clave de licencia para que el código funcione sin una marca de agua. Puedes registrarte para una licencia de prueba gratuita en este enlace. Tenga en cuenta que podemos registrarnos sin tener que revelar nuestra identidad. Solo necesitamos ingresar su dirección de correo electrónico para poder registrarse y obtener la versión de prueba gratuita.

Stellargraph Python (Cómo funciona para desarrolladores): Figura 5 - Plan de licencias de IronPDF

Conclusión

La integración de StellarGraph con IronPDF abre un camino avanzado y sólido para evaluar datos y procesar documentos. StellarGraph contribuirá con potentes técnicas de aprendizaje automático de gráficos para el análisis de datos interconectados, e IronPDF ofrecerá herramientas completas para el manejo y manipulación de documentos PDF. La interacción de estos le permitirá extraer información significativa de estructuras de datos complicadas dentro de un documento PDF.

Su combinación permite a las empresas fusionar el poder del análisis basado en gráficos con el manejo sofisticado de documentos, estableciendo así un flujo de trabajo de procesamiento de datos mucho más eficiente y perspicaz. Esta integración ha dado otro gran paso hacia la plena explotación de los datos incluidos en el formato PDF y ha abierto nuevos caminos de innovación y optimización en dominios bastante distintos. Iron Software también hace posible crear aplicaciones en muchas plataformas y sistemas operativos, como Windows, Android, MAC y Linux, entre otros, mediante el uso de muchas bibliotecas.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
igraph python (Cómo funciona para desarrolladores)
SIGUIENTE >
PyJWT Python (Cómo funciona: una guía para desarrolladores)

¿Listo para empezar? Versión: 2025.5 acaba de salir

Ver licencias >