Stellargraph Python (jak to działa dla programistów)
Co w rzeczywistości najbardziej przypomina supermoc jasnowidzenia? Jest to zdolność do tworzenia prognoz na podstawie danych uporządkowanych w grafach. Zasadniczo polega to na interpretowaniu informacji jako węzłów i krawędzi, gdzie relacje i interakcje w obrębie grafu dostarczają cennych spostrzeżeń. W przeciwieństwie do tradycyjnych metod, które koncentrują się na tabelarycznych lub sekwencyjnych reprezentacjach danych, procesy uczenia maszynowego oparte na grafach wykorzystują te powiązania do odkrywania ukrytych wzorców.
Właśnie dlatego sieci neuronowe konwolucyjne grafów (GCN) oraz metody oparte na uwadze grafów zostały dostosowane do danych grafowych, umożliwiając modelom uczenia maszynowego realizację zadań takich jak klasyfikacja węzłów, przewidywanie sekwencji, przewidywanie powiązań oraz kategoryzacja grafów. Techniki te są szczególnie przydatne w dziedzinach wymagających dogłębnego zrozumienia złożonych relacji, umożliwiając systemom dokonywanie trafnych prognoz lub uzyskiwanie wnikliwych wniosków, zwłaszcza w obszarach takich jak sieci społecznościowe i systemy rekomendacji.
W tym artykule użyjemy StellarGraph do wygenerowania wykresu, a następnie przekonwertujemy go na plik PDF za pomocą IronPDF.
Czym jest StellarGraph?
StellarGraph to biblioteka języka Python przeznaczona do uczenia maszynowego z wykorzystaniem danych o strukturze grafu. Zapewnia kompleksowy zestaw narzędzi do tworzenia, manipulowania i wizualizacji grafów. Ponadto StellarGraph oferuje zaawansowane algorytmy uczenia maszynowego oparte na grafach, dostosowane do uczenia się na podstawie złożonych danych graficznych i ich analizy, co obejmuje uzupełnianie grafów wiedzy.
StellarGraph obsługuje zadania takie jak klasyfikacja węzłów, przewidywanie powiązań i klasyfikacja grafów dzięki implementacji modeli takich jak sieci konwolucyjne grafów (Graph Convolutional Networks) i sieci uwagi grafów (Graph Attention Networks).

Jest również zintegrowany z kilkoma popularnymi środowiskami uczenia maszynowego opartymi na grafach, takimi jak TensorFlow i Keras, co czyni go dobrym rozwiązaniem do analizy i pozyskiwania wniosków ze złożonych sieci w większości dziedzin, takich jak sieci społecznościowe, bioinformatyka i systemy rekomendacji.
Najważniejsze cechy
- Usprawniony proces uczenia maszynowego oparty na grafach: StellarGraph upraszcza proces uczenia maszynowego oparty na grafach, prowadząc użytkowników od ładowania danych po obliczenia wektorów osadzenia i prognozy neuronowe. Obsługuje różne techniki konwolucji graficznej, w tym Deep Graph CNN i indukcyjne sieci konwolucyjne grafów, w celu wzbogacenia cech węzłów i umożliwienia zaawansowanej klasyfikacji węzłów.
- Zaawansowane techniki i modele: Biblioteka zawiera zaawansowane modele, takie jak Sequence Graph Attention Network i Temporal GCNs, zaprojektowane w celu efektywnego przetwarzania danych czasowo-przestrzennych oraz przewidywania sekwencji. Modele te poprawiają dokładność i trafność prognoz poprzez wykorzystanie atrybutów węzłów czasowych oraz heterogenicznych wag krawędzi skierowanych.
- Kompleksowa dokumentacja i lokalne wersje demonstracyjne: StellarGraph udostępnia obszerne artykuły dotyczące dokumentacji algorytmów oraz zeszyty demonstracyjne, które można uruchamiać lokalnie, oferując praktyczny wgląd w implementację wielu algorytmów. Zasoby te ułatwiają głębsze zrozumienie uczenia maszynowego opartego na grafach oraz jego zastosowań.
Pierwsze kroki ze StellarGraph
Aby wygenerować graf za pomocą StellarGraph, użytkownik zostanie poprowadzony przez proces instalacji bibliotek, tworzenia grafu, definiowania cech węzłów i krawędzi, a na koniec konfiguracji modelu uczenia maszynowego. Oto przewodnik krok po kroku, który pomoże Ci rozpocząć pracę:
Instalacja StellarGraph i innych odpowiednich bibliotek
Najpierw należy upewnić się, że poniższe biblioteki są poprawnie zainstalowane. Poniżej przedstawiono również polecenia służące do ich instalacji, jeśli jeszcze tego nie zrobiono:
pip install stellargraph
pip install tensorflow
pip install pandas
pip install numpypip install stellargraph
pip install tensorflow
pip install pandas
pip install numpyKorzystanie ze StellarGraph w Pythonie
Prosty przykład definiowania grafu, dodawania właściwości krawędzi i węzłów przy pomocy licznych algorytmów zawartych w StellarGraph:
import pandas as pd
import numpy as np
from stellargraph import StellarGraph
import matplotlib.pyplot as plt
import networkx as nx
# Step 1: Create Sample Graph Data
# Generating random feature values for 5 nodes
nodes = pd.DataFrame({
"feature1": np.random.randn(5),
"feature2": np.random.randn(5)
}, index=[f"node{i}" for i in range(5)])
# Defining edges in the graph
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))
# Compute positions for each node in a circular layout
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)
# Add a title for the graph
plt.title('StellarGraph Visualization')
# Save the visualization as an image
plt.savefig('graph.png')
plt.close()import pandas as pd
import numpy as np
from stellargraph import StellarGraph
import matplotlib.pyplot as plt
import networkx as nx
# Step 1: Create Sample Graph Data
# Generating random feature values for 5 nodes
nodes = pd.DataFrame({
"feature1": np.random.randn(5),
"feature2": np.random.randn(5)
}, index=[f"node{i}" for i in range(5)])
# Defining edges in the graph
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))
# Compute positions for each node in a circular layout
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)
# Add a title for the graph
plt.title('StellarGraph Visualization')
# Save the visualization as an image
plt.savefig('graph.png')
plt.close()Przedstawiony przykład ilustruje sposób tworzenia wykresu i jego prostej wizualizacji przy użyciu biblioteki StellarGraph w połączeniu z bibliotekami Matplotlib i NetworkX. Przykład rozpoczyna się od zaimportowania niezbędnych bibliotek: pandas i Numpy do obsługi danych; StellarGraph do tworzenia samej struktury grafu; oraz Matplotlib i NetworkX do wizualizacji.
Najpierw generowane są przykładowe dane graficzne. W tym przykładzie mamy ramkę danych (DataFrame) węzłów z losowymi wartościami cech dla pięciu węzłów o identyfikatorach od node0 do node4. Ramka danych krawędzi (DataFrame) opisuje krawędzie; zawiera pary źródłowo-docelowe opisujące połączone węzły.
Następnie tworzona jest instancja klasy StellarGraph z danymi węzłów i krawędzi, która przechowuje tę strukturę danych zapisanych w grafie.
Na koniec wizualizuje ten wykres. Zapewnia funkcję obliczania układu kołowego dla rozmieszczenia węzłów, gdzie każdy węzeł jest umieszczany zgodnie ze współrzędnymi biegunowymi. Następnie biblioteka NetworkX konwertuje ten obiekt StellarGraph na graf NetworkX, który jest następnie wykreślany przez Matplotlib. Węzły są jasnoniebieskie, krawędzie są szare, wykres jest opatrzony etykietami, a na koniec dostosowany pod względem rozmiaru i czcionki. Na koniec wykres jest zapisywany jako plik graficzny o nazwie graph.png, a okno wykresu zostaje zamknięte.
Wynik

Ten przepływ pracy umożliwia tworzenie, uczenie się reprezentacji i wizualizację grafu. Dzięki temu znacznie łatwiej jest przeprowadzać analizy i prezentować dane oparte na wykresach.
Przedstawiamy IronPDF

Moduł IronPDF for Python umożliwia programowe tworzenie i edycję plików PDF. Będziesz mógł generować pliki PDF z HTML, łączyć wiele plików PDF w jeden, a nawet korzystać z istniejących plików PDF, do których dodano tekst, zdjęcia i adnotacje. Natomiast IronPDF umożliwia tworzenie wysokiej jakości plików PDF z dowolnej strony internetowej napisanej w HTML lub innych treści internetowych generowanych podczas tworzenia raportów, faktur lub innych dokumentów o wcześniej ustalonym stylu.
Niektóre z jego zaawansowanych funkcji to edycja układu strony, szyfrowanie dokumentów, wyodrębnianie treści z plików PDF i wiele innych. Poprawa sposobu obsługi plików PDF przez Państwa produkty pozwoli programistom lepiej wykorzystać ich ogólną użyteczność.
Instalacja biblioteki IronPDF
Poniżej znajduje się polecenie instalatora pakietu, które pozwala Pythonowi włączyć użycie IronPDF w Twoich projektach:
pip install ironpdfpip install ironpdfPołącz StellarGraph z IronPDF
Poniżej znajduje się kod służący do generowania pliku PDF na podstawie obrazu wykresu utworzonego przez StellarGraph.
import pandas as pd
import numpy as np
from stellargraph import StellarGraph
import matplotlib.pyplot as plt
import networkx as nx
from ironpdf import ImageToPdfConverter, License
import warnings
warnings.filterwarnings('ignore')
# Replace "YOUR LICENSE KEY GOES HERE" with your IronPDF 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
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())}
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')
plt.close()
# Step 4: Convert the image to PDF using IronPDF
ImageToPdfConverter.ImageToPdf('graph.png').SaveAs("result.pdf")import pandas as pd
import numpy as np
from stellargraph import StellarGraph
import matplotlib.pyplot as plt
import networkx as nx
from ironpdf import ImageToPdfConverter, License
import warnings
warnings.filterwarnings('ignore')
# Replace "YOUR LICENSE KEY GOES HERE" with your IronPDF 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
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())}
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')
plt.close()
# Step 4: Convert the image to PDF using IronPDF
ImageToPdfConverter.ImageToPdf('graph.png').SaveAs("result.pdf")Jest to fragment kodu służący do tworzenia i wizualizacji wykresu za pomocą biblioteki StellarGraph, a następnie przekształcania narysowanej wizualizacji w plik PDF przy użyciu IronPDF. Zaczyna się od zaimportowania niezbędnych bibliotek i ustawienia klucza licencyjnego IronPDF. Przykładowe dane graficzne są generowane z losowymi cechami dla węzłów i określonych krawędzi. Na podstawie tych danych tworzony jest obiekt StellarGraph. Biblioteka NetworkX wizualizuje graf w układzie kołowym i zapisuje go jako obraz PNG. Następnie ten obraz PNG jest konwertowany na dokument PDF przez narzędzie ImageToPdfConverter z pakietu IronPDF.
Wynik

Licencjonowanie
Aby kod działał bez znaku wodnego, potrzebny jest klucz licencyjny. Możesz zarejestrować się, aby uzyskać bezplatną licencję probną, klikając ten link. Należy pamiętać, że można zarejestrować się bez konieczności ujawniania swojej tożsamości. Wystarczy podać swój adres e-mail, aby zarejestrować się i uzyskać bezpłatną wersję próbną.

Wnioski
Integracja StellarGraph z IronPDF otwiera zaawansowaną i solidną ścieżkę do analizy danych i przetwarzania dokumentów. StellarGraph wniesie potężne techniki uczenia maszynowego oparte na grafach do analizy połączonych danych, a IronPDF zaoferuje kompletne narzędzia do obsługi i manipulacji dokumentami PDF. Współdziałanie tych narzędzi pozwoli Ci uzyskać wartościowe informacje ze skomplikowanych struktur danych w dokumencie PDF.
Ich połączenie umożliwia Enterprise'om połączenie możliwości analizy opartej na grafach z zaawansowaną obsługą dokumentów, tworząc w ten sposób znacznie bardziej wydajny i wnikliwy proces przetwarzania danych. Ta integracja stanowi kolejny ogromny krok w kierunku pełnego wykorzystania danych zawartych w formacie PDF i otworzyła nowe ścieżki innowacji i optymalizacji w zupełnie różnych dziedzinach. Iron Software umożliwia również tworzenie aplikacji na wielu platformach i systemach operacyjnych, takich jak Windows, Android, MAC i Linux, między innymi, dzięki wykorzystaniu wielu bibliotek.










