MulaiMulai sekarang secara gratis

Perubahan pada PageRank

Rumus PageRank \(\vec{PR}=\alpha \cdot A \cdot \vec{PR} + (1-\alpha)\cdot \vec{e}\) dapat diselesaikan untuk \(\vec{PR}\) secara iteratif. Pada setiap iterasi, nilai \(\vec{PR}\) saat ini digunakan untuk menghitung nilai baru yang lebih mendekati nilai sebenarnya. Ini berarti bahwa perbedaan antara \(\vec{PR}\) dari setiap dua iterasi berurutan akan makin kecil hingga \(\vec{PR}\) konvergen ke nilai sebenarnya dan perbedaannya menjadi (hampir) nol. Dalam latihan ini, Anda akan menelaah algoritma PageRank dan bagaimana ia mencapai konvergensi.

Latihan ini adalah bagian dari kursus

Analitik Prediktif menggunakan Data Berjejaring di R

Lihat Kursus

Petunjuk latihan

  • Hitung satu iterasi dengan algoritma PageRank menggunakan page.rank() dengan network dan menetapkan niter=1. Ekstrak atribut vektor dan simpan hasilnya ke iter1.
  • Ulangi langkah terakhir dengan niter=2. Simpan hasilnya ke iter2.
  • Hitung jumlah selisih absolut antara vektor iter1 dan iter2.
  • Kami telah menghitung iter9 dan iter10 dengan cara yang sama seperti iter1 dan iter2. Apakah perbedaan antara kedua iterasi ini lebih kecil dibanding antara iterasi 1 dan 2.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Compute one iteration of PageRank 
iter1 <- page.rank(___, algo = 'power', options = list(niter = ___))$vector

# Compute two iterations of PageRank 
iter2 <- ___(___, algo = 'power', options = list(niter = ___))$vector

# Inspect the change between one and two iterations
sum(abs(___ - ___))

# Inspect the change between nine and ten iterations
sum(___(___ - ___))
Edit dan Jalankan Kode