Algoritma PageRank digunakan untuk mengukur kepentingan suatu halaman web. Algoritma ini menganalisis hyperlink guna menentukan kepentingan halaman berdasarkan jumlah dan kualitas tautan yang mengarah ke halaman tersebut. Semakin banyak tautan yang mengarah ke halaman, semakin tinggi peringkatnya. Bobot dari sumber tautan juga memengaruhi skor PageRank akhir. Komponen Page Rank digunakan untuk menghitung bobot setiap node.
Deskripsi
Algoritma PageRank menganalisis tautan ke halaman web untuk mengevaluasi kepentingan relatifnya. Prinsip inti algoritma ini meliputi:
Jumlah tautan yang lebih besar dari halaman lain ke suatu halaman menunjukkan kepentingan atau kualitas halaman yang lebih tinggi.
Algoritma PageRank mengumpulkan jumlah tautan dari halaman lain ke halaman tersebut dan mempertimbangkan bobot halaman asal. Bobot halaman dihitung berdasarkan skor PageRank dan jumlah tautan yang berasal dari halaman tersebut.
Algoritma PageRank juga dapat diterapkan pada jaringan sosial. Dalam jaringan sosial, pengaruh seorang pengguna ditentukan oleh atribut pribadinya dan kualitas koneksi sosialnya. Sebagai contoh, pengaruh pengguna Sina Weibo terhadap pengikutnya dipengaruhi oleh kedekatan hubungan dengan para pengikut. Umumnya, pengguna Sina Weibo cenderung memiliki pengaruh lebih besar terhadap keluarga, teman sekelas, dan rekan kerja mereka. Dalam jaringan sosial, bobot tepi mencerminkan kedekatan hubungan antara pengguna dan dianggap sebagai indeks kekuatan hubungan.
Rumus PageRank yang mencakup bobot tautan
W(i): bobot Node i.
C(Ai): bobot tautan.
d: koefisien redaman.
W(A): indeks pengaruh setiap pengguna dan bobot node setelah iterasi algoritma menjadi stabil.
Konfigurasikan komponen
Metode 1: Konfigurasikan komponen pada halaman pipeline
Konfigurasikan parameter Page Rank komponen pada halaman pipeline Machine Learning Designer di konsol Platform for AI (PAI). Tabel berikut menjelaskan parameter tersebut.
Tab | Parameter | Deskripsi |
Fields Setting | Source Vertex Column | Kolom vertex awal dalam tabel tepi. |
Target Vertex Column | Kolom vertex akhir dalam tabel tepi. | |
Edge Weight Column | Kolom bobot tepi dalam tabel tepi. | |
Parameters Setting | Maximum Iterations | Jumlah iterasi sebelum algoritma secara otomatis konvergen. Nilai default: 30. |
Damping Coefficient | Probabilitas bahwa pengguna melanjutkan penjelajahan. | |
Tuning | Workers | Jumlah node untuk eksekusi pekerjaan paralel. Tingkat paralelisme dan biaya komunikasi kerangka meningkat dengan nilai parameter ini. |
Memory Size per Worker (MB) | Ukuran maksimum memori yang dapat digunakan oleh pekerjaan. Unit: MB. Nilai default: 4096. Jika ukuran memori yang digunakan melebihi nilai parameter ini, kesalahan |
Metode 2: Gunakan perintah PAI
Konfigurasikan parameter Page Rank komponen menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat Skenario 4: Jalankan perintah PAI dalam komponen skrip SQL.
PAI -name PageRankWithWeight
-project algo_public
-DinputEdgeTableName=PageRankWithWeight_func_test_edge
-DfromVertexCol=flow_out_id
-DtoVertexCol=flow_in_id
-DoutputTableName=PageRankWithWeight_func_test_result
-DhasEdgeWeight=true
-DedgeWeightCol=weight
-DmaxIter=100;Parameter | Diperlukan | Nilai default | Deskripsi |
inputEdgeTableName | Ya | Tidak ada nilai default | Nama tabel tepi input. |
inputEdgeTablePartitions | Tidak | Tabel lengkap | Partisi dalam tabel tepi input. |
fromVertexCol | Ya | Tidak ada nilai default | Kolom vertex awal dalam tabel tepi input. |
toVertexCol | Ya | Tidak ada nilai default | Kolom vertex akhir dalam tabel tepi input. |
outputTableName | Ya | Tidak ada nilai default | Nama tabel output. |
outputTablePartitions | Tidak | Tidak ada nilai default | Partisi dalam tabel output. |
lifecycle | Tidak | Tidak ada nilai default | Siklus hidup tabel output. |
workerNum | Tidak | Tidak ada nilai default | Jumlah node untuk eksekusi pekerjaan paralel. Tingkat paralelisme dan biaya komunikasi kerangka meningkat dengan nilai parameter ini. |
workerMem | Tidak | 4096 | Ukuran maksimum memori yang dapat digunakan oleh pekerjaan. Unit: MB. Nilai default: 4096. Jika ukuran memori yang digunakan melebihi nilai parameter ini, kesalahan |
splitSize | Tidak | 64 | Ukuran pemisahan data. Unit: MB. |
hasEdgeWeight | Tidak | false | Menentukan apakah tepi dalam tabel tepi input memiliki bobot. |
edgeWeightCol | Tidak | Tidak ada nilai default | Kolom bobot tepi dalam tabel tepi input. |
maxIter | Tidak | 30 | Jumlah maksimum iterasi. |
Contoh
Tambahkan komponen SQL Script sebagai node ke kanvas. Hilangkan centang pada Use Script Mode dan Whether the system adds a create table statement. Jalankan pernyataan SQL berikut untuk menghasilkan data pelatihan.
drop table if exists PageRankWithWeight_func_test_edge; create table PageRankWithWeight_func_test_edge as select * from ( select 'a' as flow_out_id,'b' as flow_in_id,1.0 as weight union all select 'a' as flow_out_id,'c' as flow_in_id,1.0 as weight union all select 'b' as flow_out_id,'c' as flow_in_id,1.0 as weight union all select 'b' as flow_out_id,'d' as flow_in_id,1.0 as weight union all select 'c' as flow_out_id,'d' as flow_in_id,1.0 as weight )tmp;Struktur data

Tambahkan komponen SQL Script sebagai node ke kanvas. Hilangkan centang pada Use Script Mode dan Whether the system adds a create table statement. Hubungkan node pada langkah 1 dan 2.
drop table if exists ${o1}; PAI -name PageRankWithWeight -project algo_public -DinputEdgeTableName=PageRankWithWeight_func_test_edge -DfromVertexCol=flow_out_id -DtoVertexCol=flow_in_id -DoutputTableName=${o1} -DhasEdgeWeight=true -DedgeWeightCol=weight -DmaxIter 100;Klik
untuk menjalankan pipeline.Setelah proses selesai, klik kanan komponen pada langkah 2 dan pilih View Data > SQL Script Output untuk melihat hasil pelatihan.
| node | weight | | ---- | ---------- | | a | 0.12841452 | | b | 0.18299069 | | c | 0.26076174 | | d | 0.42783305 |