Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
¿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.
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.
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.
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:
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
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
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.
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.
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.
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
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
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.
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.
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.