AIDE PYTHON

Stellargraph Python (Comment ça fonctionne pour les développeurs)

Introduction

Quelle est la chose la plus proche de la superpuissance de la clairvoyance dans la réalité ? C'est la capacité de faire des prédictions basées sur des données structurées en graphes. En son cœur, cela implique d'interpréter l'information comme des nœuds et des arêtes, où les relations et les interactions au sein du graphe fournissent des informations précieuses. Contrairement aux méthodes traditionnelles qui se concentrent sur les représentations de données tabulaires ou séquentielles, les flux de travail d'apprentissage automatique basés sur les graphes tirent parti de ces connexions pour découvrir des schémas cachés.

C'est pourquoi les réseaux de neurones convolutionnels graphiques (GCNs) et les méthodes basées sur l'attention graphique ont été adaptés aux données de graphe, permettant aux modèles d'apprentissage automatique de s'attaquer à des tâches telles que la classification des nœuds, la prédiction de séquences, la prédiction de liens et la catégorisation de graphes. Ces techniques sont particulièrement bénéfiques dans les domaines nécessitant une compréhension nuancée des relations complexes, permettant aux systèmes de faire des prédictions précises ou de tirer des informations profondes, notamment dans des domaines comme les réseaux sociaux et les systèmes de recommandation.

Dans cet article, nous allons utiliser Stellargraph pour générer un graphe puis le convertir en fichier PDF à l'aide d'IronPDF.

Qu'est-ce que StellarGraph ?

StellarGraph est une bibliothèque Python conçue pour l'apprentissage automatique avec des données structurées en graphes. Il fournit un ensemble complet d'outils pour créer, manipuler et visualiser des graphes. De plus, StellarGraph propose des algorithmes avancés d'apprentissage automatique basés sur les graphes, adaptés pour l'apprentissage à partir de données de graphes complexes et leur analyse, y compris l'achèvement de graphes de connaissances.

StellarGraph prend en charge des tâches telles que la classification de nœuds, la prédiction de liens et la classification de graphiques grâce à son implémentation de modèles comme les réseaux de convolution de graphes et les réseaux d'attention de graphes.

Stellargraph Python (Comment ça fonctionne pour les développeurs) : Figure 1 - Site Web de StellarGraph

Il est également intégré à plusieurs flux de travail d'apprentissage automatique sur les graphes, tels que TensorFlow et Keras, ce qui en fait une bonne solution pour l'analyse et la découverte d'informations à partir de réseaux complexes dans la plupart des domaines comme les réseaux sociaux, la bioinformatique et les systèmes de recommandation.

Caractéristiques principales

  • Flux de travail simplifié pour l'apprentissage automatique sur les graphes : StellarGraph simplifie le pipeline d'apprentissage automatique sur les graphes, guidant les utilisateurs depuis le chargement des données jusqu'au calcul du vecteur d'embedding et aux prédictions neuronales. Il prend en charge diverses techniques de convolution de graphe, y compris Deep Graph CNN et Inductive Graph Convolutional Networks, pour améliorer les caractéristiques des nœuds et permettre une classification des nœuds puissante.
  • Techniques et Modèles Avancés : La bibliothèque comprend des modèles sophistiqués, tels qu'un réseau d'attention à graphes de séquences et des GCN temporels, conçus pour gérer efficacement les données spatiotemporelles et la prédiction de séquences. Ces modèles améliorent la précision et la pertinence des prédictions en tirant parti des attributs temporels des nœuds et des poids de bord dirigés hétérogènes.
  • Documentation complète et démos locales : StellarGraph fournit des articles détaillés sur la documentation des algorithmes et des notebooks de démonstration pouvant être exécutés localement, offrant des perspectives pratiques sur l'implémentation de nombreux algorithmes. Ces ressources facilitent une compréhension approfondie de l'apprentissage automatique basé sur les graphes et de ses applications.

Démarrer avec StellaGraph

Pour générer un graphique en utilisant StellarGraph, vous serez guidé à travers l'installation des bibliothèques, la création du graphique, la définition des caractéristiques des nœuds et des arêtes, et enfin la mise en place d'un modèle d'apprentissage automatique. Voici un guide étape par étape pour vous aider à commencer :

Installation de StellaGraph et d'autres bibliothèques pertinentes

Vous devez d'abord vous assurer que les bibliothèques suivantes sont correctement installées. Ci-dessous, vous trouverez également les commandes utilisées pour les installer si ce n'est pas déjà fait :

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

Utiliser StellaGraph en Python

Un exemple simple de définition d'un graphe, ajoutant des caractéristiques d'arêtes et de nœuds à l'aide des nombreux algorithmes inclus dans 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

L'exemple montré illustre comment construire un graphe et sa visualisation simple en utilisant la bibliothèque StellarGraph en conjonction avec les bibliothèques Matplotlib et Networkx. L'exemple commence par importer les bibliothèques nécessaires : pandas, Numpy pour la gestion des données ; StellarGraph pour créer la structure du graphe lui-même ; et Matplotlib et Networkx pour la visualisation.

D'abord, les données graphiques sont échantillonnées. Dans cet exemple, nous avons le DataFrame des nœuds avec des valeurs de caractéristiques aléatoires pour cinq nœuds avec les identifiants node0 à node4. Le DataFrame des arêtes décrit les arêtes; il contient des paires source-cible décrivant les nœuds qui sont connectés.

Ensuite, une instance de la classe StellarGraph est créée avec les données de nœuds et d'arêtes, qui stocke cette structure de données dans le graphe.

Enfin, il visualise ce graphe. Il fournit une fonction pour calculer une disposition circulaire pour le placement des nœuds, où chaque nœud est placé selon des coordonnées polaires. La bibliothèque Networkx convertit ensuite cet objet StellarGraph en un graphe Networkx, qui est ensuite tracé par Matplotlib. Les nœuds sont bleu clair, les arêtes sont grises, le graphe est étiqueté et, enfin, personnalisé en termes de taille et de police. Enfin, le tracé est enregistré sous forme de fichier image nommé graph.png, et la fenêtre de tracé est fermée.

Sortie

Stellargraph Python (Comment ça fonctionne pour les développeurs) : Figure 2 - La visualisation du graphique généré

Ce flux de travail permet la création, l'apprentissage de représentation et la visualisation d'un graphe. Cela facilite grandement l'analyse et la présentation des données basées sur des graphiques.

Présentation d'IronPDF

Stellargraph Python (Comment cela fonctionne pour les développeurs) : Figure 3 - page web IronPDF

Le module IronPDF pour Python permet la création et la modification programmatiques des PDFs. Vous pourrez générer des PDF à partir de HTML, fusionner plusieurs fichiers PDF en un seul, et même utiliser des PDF existants comportant du texte, des photos et des annotations ajoutées. En revanche, IronPDF permet la production de PDF de qualité à partir de n'importe quel site web écrit en HTML ou d'autres contenus Internet générés pour créer des rapports, des factures ou d'autres documents préalablement stylés.

Parmi ses fonctionnalités avancées, on trouve l'édition de mise en page, le chiffrement de documents, l'extraction de contenu d'un PDF, et bien plus encore. Améliorer la manière dont vos produits traitent les PDF permettra aux développeurs d'améliorer leur utilité globale.

Installation de la bibliothèque IronPDF

Voici la commande d'installation du package qui permet à Python d'activer l'utilisation d'IronPDF dans vos projets :

pip install ironpdf
pip install ironpdf
SHELL

Combinez Stellargraph avec IronPDF

Ci-dessous le code pour générer un PDF à partir de l'image de graphique créée par 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

Ceci est un extrait de code pour la création et la visualisation d'un graphe à l'aide de la bibliothèque StellarGraph, puis pour transformer la visualisation dessinée en PDF à l'aide d'IronPDF. Elle commence par importer les bibliothèques nécessaires et définir une clé de licence IronPDF. Les données de graphique d'exemple sont générées avec des fonctionnalités aléatoires pour les nœuds et des arêtes spécifiées. En utilisant ces données, l'objet StellarGraph est créé. La bibliothèque NetworkX visualise le graphe dans une disposition circulaire et l'enregistre en tant qu'image PNG. Ensuite, cette image PNG est convertie en document PDF par l'ImageToPdfConverter de IronPDF.

Sortie

Stellargraph Python (Comment cela fonctionne pour les développeurs) : Figure 4 - PDF généré avec visualisation de graphe

Licences

Une clé de licence est nécessaire pour permettre au code de fonctionner sans filigrane. Vous pouvez vous inscrire pour une licence d'essai gratuite à ce lien. Notez que nous pouvons en enregistrer un sans avoir à révéler notre identité. Nous avons juste besoin de saisir votre adresse e-mail pour pouvoir vous inscrire et obtenir la version d'essai gratuite.

Stellargraph Python (Comment ça fonctionne pour les développeurs) : Figure 5 - Plan de licence IronPDF

Conclusion

L'intégration de StellarGraph avec IronPDF ouvre une voie avancée et solide pour évaluer les données et traiter les documents. StellarGraph contribuera avec de puissantes techniques d'apprentissage automatique pour l'analyse de données interconnectées, et IronPDF offrira des outils complets pour la gestion et la manipulation de documents PDF. L'interaction de ces éléments vous permettra d'extraire des informations significatives à partir de structures de données complexes au sein d'un document PDF.

Leur combinaison permet aux entreprises de fusionner la puissance de l'analyse basée sur des graphes avec une gestion de documents sophistiquée, établissant ainsi un flux de travail de traitement des données beaucoup plus efficace et instructif. Cette intégration a fait un autre grand pas vers l'exploitation complète des données contenues dans le format PDF et a ouvert de nouvelles voies d'innovation et d'optimisation dans des domaines assez distincts. Iron Software permet également de créer des applications sur de nombreuses plateformes et systèmes d'exploitation, tels que Windows, Android, MAC et Linux, entre autres, en utilisant de nombreuses bibliothèques.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
igraph python (Comment ça fonctionne pour les développeurs)
SUIVANT >
PyJWT Python (Comment cela fonctionne : Un guide pour les développeurs)