Altbilgi içeriğine atla
PYTHON YARDıM

Stellargraph Python (Geliştiriciler İçin Nasıl Çalışir)

Gerçek hayatta, sezgileri andıran en yakın şey nedir? Veri yapılandırılmış grafikleri temel alarak tahminlerde bulunabilmektir. Bunun özü, bilgiyi düğümler ve kenarlar olarak yorumlamak, ilişkiler ve grafikteki etkileşimlerin değerli içgörüler sağlamasıdır. Tablo veya sıralı veri temsillerine odaklanan geleneksel yöntemlerin aksine, grafik makine öğrenimi iş akışları, bu bağlantıları gizli kalıpları ortaya çıkarmak için kullanır.

Bu nedenle, grafik konvolüsyonel sinir ağları (GCN'ler) ve grafik dikkat temelli yöntemler, düğüm sınıflandırması, sıra tahmini, bağlantı tahmini ve grafik kategorizasyonu gibi görevleri ele almak için grafik veriler için uyarlanmıştır. Bu teknikler, karmaşık ilişkilerin nüansları ile anlaşılmasını gerektiren alanlarda özellikle faydalıdır ve sistemlerin doğru tahminler yapmasını veya sosyal ağlar ve öneri sistemleri gibi alanlarda derin içgörüler türetmesini sağlar.

Bu makalede, IronPDF yardımıyla bir grafik oluşturmak ve ardından bir PDF dosyasına dönüştürmek için StellarGraph'ı kullanacağız.

StellarGraph Nedir?

StellarGraph, grafik yapısındaki verilerle makine öğrenimi için tasarlanmış bir Python kütüphanesidir. Grafikler oluşturma, değiştirme ve görselleştirme için kapsamlı bir araç seti sunar. Ayrıca, StellarGraph karmaşık grafik verilerden öğrenme ve analiz için uyarlanmış ileri düzey grafik tabanlı makine öğrenme algoritmaları sunar, bu bilgiler bilgi grafik tamamlamayı içerir.

StellarGraph, Düğüm Sınıflandırması, Bağlantı Tahmini ve Grafik Sınıflandırması gibi görevleri destekler ve geliştirdiği Grafik Konvolüsyonel Ağlar ve Grafik Dikkat Ağları modelleri içerir.

Stellargraph Python (Geliştiriciler için Nasıl Çalışır): Şekil 1 - StellarGraph web sitesi

Ayrıca, TensorFlow ve Keras gibi popüler grafik makine öğrenimi iş akışları ile entegredir, sosyal ağlar, biyoinformatik ve öneri sistemleri gibi çoğu alanda karmaşık ağlardan içgörülerin analiz edilmesi ve bulunması için iyi bir çözüm sunar.

Başlıca Özellikler

  • Basitleştirilmiş Grafik Makine Öğrenimi İş Akışı: StellarGraph, veri yükleme aşamasından gömme vektör hesaplaması ve sinir tahminlerine kadar kullanıcıları yönlendirerek grafik makine öğrenimi iş akışını basitleştirir. Derin Grafik CNN ve İndüktif Grafik Konvolüsyonel Ağlar gibi çeşitli grafik konvolüsyonel teknikleri destekler, bu sayede düğüm özelliklerini zenginleştirir ve güçlü düğüm sınıflandırmasına olanak tanır.
  • Gelişmiş Teknikler ve Modeller: Kütüphane, zamansal veri ve dizilim tahminlerini etkili bir şekilde ele almak için Tasarlanmış Dizi Grafik Dikkat Ağı ve Zamansal GCN modelleri gibi sofistike modeller içerir. Bu modeller, zamansal düğüm özelliklerini ve heterojen yönlendirilmiş kenar ağırlıklarını kullanarak tahmin doğruluğunu ve alaka düzeyini artırır.
  • Kapsamlı Dokümantasyon ve Yerel Demolar: StellarGraph, algoritmanın dokümantasyonu ve yerel olarak çalıştırılabilecek demo defterleri hakkında geniş kapsamlı makaleler sunar, bu da birçok algoritmanın uygulanması hakkında pratik bilgiler sağlar. Bu kaynaklar, grafik tabanlı makine öğrenmesi ve uygulamalarının daha derin bir şekilde anlaşılmasını kolaylaştırır.

StellarGraph ile Başlarken

StellarGraph kullanarak bir grafik oluşturmak için, kütüphanelerin kurulumu, grafiğin oluşturulması, düğüm ve kenar özelliklerinin tanımlanması ve nihayetinde bir makine öğrenimi modelinin kurulumu konularında yönlendirileceksiniz. İşte size başlangıç yapmanız için adım adım bir kılavuz:

StellarGraph ve Diğer İlgili Kütüphaneleri Yükleme

Öncelikle, aşağıdaki kütüphanelerin doğru bir şekilde yüklendiğinden emin olmak isteyeceksiniz, aşağıda henüz yapmadıysanız onları yüklemek için kullanılan komutlar da gösterilmektedir:

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'da StellarGraph Kullanımı

StellarGraph içinde yer alan çeşitli algoritmaların yardımıyla bir grafik tanımlamanın, kenar ve düğüm özellikleri eklemenin basit bir örneği:

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.co/s(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.co/s(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()
PYTHON

Gösterilen örnek, StellarGraph kütüphanesini Matplotlib ve NetworkX kütüphaneleri ile birlikte kullanarak bir grafik oluşturmanın ve basit bir şekilde görselleştirmenin nasıl yapılacağını göstermektedir. Örnek, gerekli kütüphaneleri içe aktarılarak başlar: pandas ve Numpy verileri işlemek için; grafik yapısını oluşturmak için StellarGraph; ve görselleştirme için Matplotlib ve NetworkX.

İlk olarak, örnek grafik verileri üretilir. Bu örnekte, node0'dan node4'e kadar tanımlayıcılarla beş düğüm için rastgele özellik değerlerine sahip düğümler DataFrame vardır. Kenarlar DataFrame ise kenarları tanımlar; bağlı olan düğümleri tanımlayan kaynak-hedef çiftlerini içerir.

Ardından, düğüm ve kenar verileriyle StellarGraph sınıfından bir örnek oluşturulur, bu da grafik içinde depolanan verilerin bu yapısını saklar.

Son olarak, bu grafiği görselleştirir. Düğümlerin konumlandırılması için bir dairesel düzen hesaplamak adına fonksiyon sağlar, her düğüm polar koordinatlara göre yerleştirilir. NetworkX kütüphanesi daha sonra bu StellarGraph nesnesini bir NetworkX grafiğine dönüştürür ve ardından Matplotlib tarafından çizilir. Düğümler açık mavi, kenarlar gri, grafik etiketlenmiş ve nihayetinde boyut ve yazı tipi açısından özelleştirilmiştir. Nihayet, grafik.png adlı bir resim dosyası olarak kaydedilir ve çizim penceresi kapatılır.

Çıktı

Stellargraph Python (Geliştiriciler için Nasıl Çalışır): Şekil 2 - Çıktı grafik görselleştirmesi

Bu iş akışı, bir grafiğin oluşturulmasına, temsili öğrenimine ve görselleştirilmesine olanak tanır. Bu, grafiklere dayalı verileri analiz etmeyi ve sunmayı çok daha kolay hale getirir.

IronPDF Tanıtımı

Stellargraph Python (Geliştiriciler için Nasıl Çalışır): Şekil 3 - IronPDF web sayfası

Python modülü için IronPDF, PDF belgelerinin programatik olarak oluşturulmasına ve düzenlenmesine olanak sağlar. HTML'den PDF'ler oluşturabilecek, birden fazla PDF dosyasını birleştirip tek bir dosya haline getirebilecek ve hatta metin, fotoğraflar ve ek açıklamalar eklenmiş mevcut PDF'lerden faydalanabileceksiniz. Buna karşılık olarak, IronPDF herhangi bir HTML ile yazılmış web sitesinden veya daha önce stil verilmiş belgeler, raporlar veya faturalar oluşturmak için üretilen internet içeriğinden kaliteli PDF'lerin üretilmesini sağlar.

Gelişmiş özelliklerinden bazıları sayfa düzeni düzenleme, belge şifreleme, PDF'den içerik çıkarma ve daha birçok özellik içerir. Ürünlerinizin PDF'lerle nasıl başa çıktığını iyileştirmek, geliştiricilerin genel faydalılıklarını artırmalarını daha iyi sağlayacaktır.

IronPDF Kütüphanesinin Kurulumu

Aşağıda, Python'un projelerinizde IronPDF kullanımını etkinleştirmesini sağlayan paket yükleyici komutu bulunmaktadır:

pip install ironpdf

StellarGraph'i IronPDF ile Birleştirme

Aşağıda, StellarGraph tarafından oluşturulan grafik görüntüsünden bir PDF oluşturan kod bulunmaktadır.

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.co/s(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.co/s(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")
PYTHON

Bu, StellarGraph kütüphanesi aracılığıyla grafiğin oluşturulması ve görselleştirilmesi, ardından çizilen görselleştirmenin IronPDF kullanılarak bir PDF'ye dönüştürülmesi için bir kod örneğidir. Gerekli kütüphanelerin içe aktarılması ve bir IronPDF lisans anahtarı ayarlanması ile başlar. Örnek grafik verileri, düğümler için rastgele özellikler ve belirlenmiş kenarlarla üretilir. Bu verileri kullanarak, StellarGraph nesnesi oluşturulur. NetworkX kütüphanesi grafiği dairesel bir düzen içinde görselleştirir ve PNG görüntüsü olarak kaydeder. Daha sonra, bu PNG görüntüsü IronPDF'in ImageToPdfConverter tarafından bir PDF belgesine dönüştürülür.

Çıktı

Stellargraph Python (Geliştiriciler için Nasıl Çalışır): Şekil 4 - Grafik görselleştirmeli çıktı PDF

Lisanslama

Bir lisans anahtarı, kodun su işareti olmadan çalışabilmesine olanak tanır. Bu bağlantıdan ücretsiz deneme lisansı için kaydolabilirsiniz. Kimliğimizi açıklamadan bir tane kaydetmenin mümkün olabileceğini unutmayın. Kaydolmak ve ücretsiz deneme sürümünü indirmek için sadece e-posta adresinizi girmeniz yeterlidir.

Stellargraph Python (Geliştiriciler için Nasıl Çalışır): Şekil 5 - IronPDF lisans planı

Sonuç

IronPDF ile StellarGraph'in entegrasyonu, verileri değerlendirmek ve belgeleri işlemek için gelişmiş ve güçlü bir yol açar. StellarGraph, birbirine bağlı verilerin analizine yönelik güçlü grafik makine öğrenimi teknikleri sunacak, IronPDF ise PDF belgelerini yönetmek ve işlemeye yönelik eksiksiz araçlar sunacaktır. Bunların etkileşimi, karmaşık veri yapılarından anlamlı bilgiler çıkarmanıza imkan tanıyacaktır.

Bunların kombinasyonu, birimler üzerinde grafik tabanlı analitik gücünü, gelişmiş belge işleme ile birleştirerek çok daha verimli ve bilgili bir veri işleme iş akışı oluşturur. Bu entegrasyon, PDF formatında saklanan verilerin tam olarak kullanılmasına yönelik bir büyük adım daha atmıştır ve oldukça farklı alanlarda yenilik ve optimizasyon için yeni yollar açmıştır. Iron Software, Windows, Android, MAC ve Linux gibi birçok platformda ve işletim sisteminde uygulama geliştirmeyi, birçok kütüphane kullanarak mümkün kılar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara