PYTHON ヘルプ

Stellargraph Python(開発者向けの動作方法)

イントロダクション

現実においてクレアボヤンス(透視能力)に最も似ているものは何ですか? それは、グラフに構造化されたデータに基づいて予測を行う能力です。基本的には、情報をノードとエッジとして解釈し、グラフ内の関係と相互作用が貴重な洞察を提供することを含みます。 従来の方法が表形式や順序データ表現に重点を置くのとは異なり、グラフ機械学習のワークフローはこれらの接続を活用して隠れたパターンを明らかにします。

これが理由でグラフ畳み込みニューラルネットワーク(GCN)およびグラフ注意ベースの手法がグラフデータに適用され、ノード分類、シーケンス予測、リンク予測、グラフ分類といったタスクに取り組む機械学習モデルを可能にしています。 これらの技術は、特に複雑な関係の微細な理解を必要とする分野で有益であり、特にソーシャルネットワークやレコメンダーシステムの分野において、システムが正確な予測を行ったり深い洞察を導き出すことを可能にします。

この記事では、Stellargraph を使用してグラフを生成し、それを IronPDF の助けを借りて PDF ファイルに変換します。

StellarGraphとは何ですか?

StellarGraph は、グラフ構造化データを用いた機械学習のために設計されたPythonライブラリです。 これは、グラフの作成、操作、および視覚化のための包括的なツールセットを提供します。さらに、StellarGraph は、複雑なグラフデータから学び、分析するために特化した高度なグラフベースの機械学習アルゴリズムを提供しており、知識グラフの補完も含まれます。

StellarGraphは、グラフ畳み込みネットワークやグラフ注意ネットワークなどのモデルを実装することによって、ノード分類、リンク予測、グラフ分類といったタスクをサポートします。

Stellargraph Python(開発者にとっての仕組み):図1 - StellarGraphウェブサイト

また、TensorFlowやKerasなどの人気のあるグラフ機械学習ワークフローと統合されており、ソーシャルネットワーク、バイオインフォマティクス、推奨システムなどの多くの分野で、複雑なネットワークの分析と洞察を見つけるための優れたソリューションとなっています。

主な機能

  • 効率化されたグラフ機械学習ワークフロー: StellarGraphは、データの読み込みから埋め込みベクトルの計算およびニューラル予測まで、グラフ機械学習のパイプラインを簡素化し、ユーザーをガイドします。 それは、ノードの機能を強化し、強力なノード分類を可能にするために、Deep Graph CNNや帰納的グラフ畳み込みネットワークを含む様々なグラフ畳み込み技術をサポートしています。
  • 高度な技術とモデル: このライブラリには、時空間データとシーケンス予測を効果的に扱うために設計された、シーケンスグラフアテンションネットワークや時間的GCNなどの高度なモデルが含まれています。 これらのモデルは、時間的なノード属性や異種の指向エッジの重みを活用することで、予測の精度と関連性を向上させます。
  • 包括的なドキュメントとローカルデモ: 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を可視化のために使用します。

まず、グラフデータがサンプリングされます。 この例では、5つのノード(識別子node0からnode4)のランダムな特徴値を持つノードDataFrameを持っています。エッジDataFrameはエッジを記述します。 それには、接続されたノードを説明するソース-ターゲットのペアが含まれています。

その後、ノードとエッジのデータを持つStellarGraphクラスのインスタンスが作成され、グラフに保存されたこのデータ構造を保持します。

最後に、このグラフを視覚化します。 ノードの配置のための円形レイアウトを計算する機能を提供し、各ノードは極座標に従って配置されます。 Networkxライブラリは、このStellarGraphオブジェクトをNetworkxグラフに変換し、それをMatplotlibによってプロットします。 ノードはライトブルーで、エッジはグレーで、グラフにはラベルが付けられ、最後にサイズとフォントの面でカスタマイズされています。 最後に、プロットは graph.png という名前の画像ファイルとして保存され、プロットウィンドウは閉じられます。

出力

Stellargraph Python(開発者向けの動作方法):図2 - 出力されたグラフの視覚化

このワークフローは、グラフの生成、表現学習、および可視化を可能にします。 これにより、グラフに基づくデータの分析や提示がはるかに容易になります。

IronPDFの紹介

Stellargraph Python(開発者にとっての動作原理): 図3 - IronPDFウェブページ

IronPDF for Python モジュールは、プログラムによるPDFの作成および編集を可能にします。 HTMLからPDFを生成したり、複数のPDFファイルを1つに結合したり、テキスト、写真、注釈が追加された既存の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(その仕組み:開発者向けガイド)