PYTHON 幫助

Stellargraph Python(開發人員如何運作)

介紹

在現實中最接近超能力「千里眼」的事物是什麼? 這是基於圖形結構化數據進行預測的能力。其核心是將信息解釋為節點和邊,其中圖中關係和互動提供了有價值的見解。 與專注於表格式或序列資料表示的傳統方法不同,圖機器學習工作流程利用這些連接來揭示隱藏的模式。

這就是為什麼圖卷積神經網絡(GCNs)和基於圖注意力的方法被改編用於圖形數據,使機器學習模型能夠處理節點分類、序列預測、鏈接預測和圖形分類等任務。 這些技術在需要深刻理解複雜關係的領域中特別有益,賦予系統做出準確預測或獲得深刻洞見的能力,尤其在社交網絡和推薦系統等方面。

在本文中,我們將使用Stellargraph生成圖形,然後在IronPDF的幫助下將其轉換為PDF文件。

什麼是StellarGraph?

StellarGraph 是一個專為圖結構數據的機器學習設計的 Python 庫。 它提供了一套全面的工具,用於創建、操作和可視化圖表。此外,StellarGraph 提供了先進的圖形算法,專為從複雜圖形數據中學習和分析而設計,其中包括知識圖譜完成。

StellarGraph 支援的任務包括節點分類、鏈接預測和圖形分類,這是通過實現如圖卷積網絡(Graph Convolutional Networks)和圖注意力網絡(Graph Attention Networks)等模型來實現的。

Stellargraph Python(開發人員如何使用):圖1 - StellarGraph網站

它還整合了幾種流行的圖形機器學習工作流程,如 TensorFlow 和 Keras,使其成為分析和從社交網絡、生物資訊學以及推薦系統等大多數領域中的複雜網絡中獲取見解的良好解決方案。

主要功能

  • 簡化的圖形機器學習工作流程:StellarGraph 簡化了圖形機器學習流程,從數據加載到嵌入向量計算和神經預測,為用戶提供指導。 它支持多种图卷积技术,包括深度图卷积神经网络和归纳图卷积网络,以增强节点特征并实现强大的节点分类。
  • 進階技術和模型: 該程式庫包含先進的模型,例如序列圖注意力網路和時間圖卷積網路(Temporal GCNs),旨在有效處理時空數據和序列預測。 這些模型通過利用時間節點屬性和異質有向邊權重來提高預測準確性和相關性。
  • 完善的文檔和本地示範:StellarGraph 提供有關演算法文檔的詳細文章和可在本地運行的示範筆記本,提供關於實現眾多演算法的實用見解。 這些資源有助於更深入了解基於圖的機器學習及其應用。

StellaGraph 入門

要使用 StellarGraph 生成圖形,您將獲得安裝庫、創建圖形、定義節點和邊緣特徵以及最終設置機器學習模型的指導。 以下是入門的逐步指南:

安裝 StellaGraph 和其他相關庫

您首先需要確保以下庫已正確安裝,如果尚未安裝,下方還顯示了用於安裝它們的命令:

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

在 Python 中使用 StellaGraph

一個簡單例子,利用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

所示範例說明如何使用 StellarGraph 庫結合 Matplotlib 和 Networkx 庫來構建圖形及其簡單的可視化。 該範例首先匯入必要的庫:pandas,Numpy 用於處理數據; StellarGraph 用於創建圖形結構本身; 以及 Matplotlib 和 Networkx 用於可視化。

首先,圖形數據被採樣。 在此範例中,我們擁有具有隨機特徵值的節點DataFrame,其中包括五個節點的識別符號,從node0到node4。邊DataFrame描述了邊; 它包含描述互連節點的源-目標對。

然後,創建一個StellarGraph類別的實例,並使用節點和邊的數據,將這些結構化的數據存儲在圖中。

最後,它將此圖形可視化。 它提供了一個函數來計算節點佈局的圓形佈局,其中每個節點根據極座標進行放置。 隨後,Networkx 庫將此 StellarGraph 對象轉換為 Networkx 圖形,然後由 Matplotlib 繪製。 節點是淺藍色,邊是灰色,圖形已標記,最後在大小和字體方面進行了自定義。 最後,繪圖被保存為名為 graph.png 的圖像文件,並關閉繪圖窗口。

輸出

Stellargraph Python(開發人員如何工作):圖 2 - 輸出的圖形可視化

此工作流程允許圖形的創建、表示學習和可視化。 這使得基於圖表的分析和呈現數據變得更加容易。

介紹 IronPDF

Stellargraph Python(對開發者的運作方式):圖 3 - IronPDF 網頁

IronPDF for Python 模組允許程式化創建和編輯 PDF。 您將能夠從HTML生成PDF,將多個PDF文件合併為一個,甚至可以使用已經添加了文本、照片和註釋的現有PDF。 相比之下,IronPDF 能夠從任何使用 HTML 撰寫的網站或其他在建立報告、發票或其他文檔時生成的互聯網內容中製作高品質的 PDF。

其中一些高級功能包括頁面佈局編輯、文件加密、PDF內容提取等多種功能。 改善產品處理 PDF 的方式將有助於開發人員提高其整體效用。

安裝 IronPDF 函式庫

以下是套件安裝指令,它允許 Python 在您的專案中使用 IronPDF:

pip install ironpdf
pip install ironpdf
SHELL

結合Stellargraph與IronPDF

以下是從 Stellargraph 創建的圖形圖像生成 PDF 的程式碼。

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

這是使用 StellarGraph 庫創建和可視化圖表的程式碼片段,然後使用 IronPDF 將繪製的可視化圖形轉換為 PDF。 它首先匯入必要的庫並設置一個IronPDF授權金鑰。 樣本圖數據是根據節點的隨機特徵和指定的邊生成的。 使用此數據,創建了StellarGraph對象。 NetworkX 庫將圖形以圓形佈局視覺化並保存為 PNG 圖像。 之後,這個 PNG 圖像會被 IronPDF 的ImageToPdfConverter轉換成 PDF 文件。

輸出

Stellargraph Python(開發人員如何使用):圖 4 - 具有圖形視覺化的輸出 PDF

授權

需要授權金鑰以允許程式碼在無浮水印的情況下運行。 您可以在此連結註冊免費試用許可證。 請注意,我們可以在不必揭露身份的情況下註冊一個。 我們只需要輸入您的電子郵件地址即可註冊並獲得免費試用版。

Stellargraph Python(開發者如何運作):圖5 - IronPDF 授權計劃

結論

將 StellarGraph 與IronPDF 結合,開闢了一個先進且強大的途徑來評估數據和處理文件。 StellarGraph 將提供強大的圖形機器學習技術,用於分析互聯數據,而 IronPDF 將提供完整的工具來處理和操作 PDF 文件。 這些互動將使您能夠從PDF文件中的複雜數據結構中提取有意義的見解。

它們的結合使企業能夠將基於圖形的分析能力與複雜的文件處理相結合,從而建立更加高效且具有洞察力的數據處理工作流程。 這次整合又向充分利用 PDF 格式中的資料邁進了一大步,並在相當不同的領域中開啟了創新和優化的新路徑。 Iron Software 也使得可以通过使用多个库在许多平台和操作系统上创建应用程序,例如 Windows、Android、MAC 和 Linux 等。

查克尼思·賓
軟體工程師
Chaknith 致力於 IronXL 和 IronBarcode。他在 C# 和 .NET 方面擁有豐富的專業知識,協助改進軟體並支持客戶。他從用戶互動中獲得的洞察力有助於提高產品、文檔和整體體驗。
< 上一頁
igraph python(開發人員如何使用)
下一個 >
PyJWT Python(它如何運作:開發者指南)

準備開始了嗎? 版本: 2025.5 剛剛發布

查看許可證 >