Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन का उपयोग करके पेज रैंक एल्गोरिदम और कार्यान्वयन


पेजरैंक एल्गोरिदम वेब पेजों में लागू होता है। वेब पेज एक निर्देशित ग्राफ है, हम जानते हैं कि निर्देशित ग्राफ के दो घटक हैं - नोड्स और कनेक्शन। पेज नोड्स हैं और हाइपरलिंक्स कनेक्शन हैं, दो नोड्स के बीच का कनेक्शन।

हम पेजरैंक द्वारा प्रत्येक पेज के महत्व का पता लगा सकते हैं और यह सटीक है। पेजरैंक का मान 0 और 1 के बीच की संभावना होगी।

ग्राफ में व्यक्तिगत नोड का पेजरैंक मान उन सभी नोड्स के पेजरैंक मान पर निर्भर करता है जो इससे जुड़ते हैं और वे नोड्स चक्रीय रूप से उन नोड्स से जुड़े होते हैं जिनकी रैंकिंग हम चाहते हैं, हम मान निर्दिष्ट करने के लिए अभिसरण पुनरावृत्त विधि का उपयोग करते हैं।

उदाहरण कोड

import numpy as np
import scipy as sc
import pandas as pd
from fractions import Fraction
def display_format(my_vector, my_decimal):
    return np.round((my_vector).astype(np.float), decimals=my_decimal)
my_dp = Fraction(1, 3)
Mat = np.matrix([[0, 0, 1],
                 [Fraction(1, 2), 0, 0],
                 [Fraction(1, 2), 1, 0]])
Ex = np.zeros((3, 3))
Ex[:] = my_dp
beta = 0.7
Al = beta * Mat + ((1 - beta) * Ex)
r = np.matrix([my_dp, my_dp, my_dp])
r = np.transpose(r)
previous_r = r
for i in range(1, 100):
    r = Al * r
    print(display_format(r, 3))
    if (previous_r == r).all():
        break
    previous_r = r
print("Final:\n", display_format(r, 3))
print("sum", np.sum(r))

आउटपुट

[[0.333] [0.217] [0.45 ]]
[[0.415] [0.217] [0.368]]
[[0.358] [0.245] [0.397]]
[[0.378] [0.225] [0.397]]
[[0.378] [0.232] [0.39 ]]
[[0.373] [0.232] [0.395]]
[[0.376] [0.231] [0.393]]
[[0.375] [0.232] [0.393]]
[[0.375] [0.231] [0.394]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
[[0.375] [0.231] [0.393]]
Final: [[0.375] [0.231] [0.393]]
sum 0.9999999999999951

  1. पायथन और Scrapy का उपयोग करके वेब स्क्रैपिंग पायथन और Scrapy का उपयोग करके वेब स्क्रैपिंग

    क्रॉलर विकसित करने के लिए सबसे अच्छे फ्रेमवर्क में से एक scrapy है। Scrapy एक लोकप्रिय वेब स्क्रैपिंग और क्रॉलिंग फ्रेमवर्क है जो वेबसाइटों को स्क्रैप करना आसान बनाने के लिए हाई-लेवल फंक्शनलिटी का उपयोग करता है। इंस्टॉलेशन विंडोज में scrapy इंस्टॉल करना आसान है: हम या तो pip या conda (यदि आपके पास

  1. Python में OpenCV का उपयोग करके इमेजेस का जोड़ और ब्लेंडिंग Python में OpenCV का उपयोग करके इमेजेस का जोड़ और ब्लेंडिंग

    हम जानते हैं कि जब हम किसी इमेज से संबंधित समस्या को हल करते हैं, तो हमें एक मैट्रिक्स लेना होता है। मैट्रिक्स कंटेंट इमेज टाइप के आधार पर भिन्न होगा - या तो यह बाइनरी इमेज (0, 1) होगी, ग्रेस्केल इमेज (0-255) या RGB इमेज (255 255 255)। इसलिए यदि हम दो इमेजेस को जोड़ना चाहते हैं तो इसका मतलब बहुत सरल

  1. मैक पर Python 3 को अपग्रेड और उपयोग करना मैक पर Python 3 को अपग्रेड और उपयोग करना

    आप सोच सकते हैं कि आपके बिल्कुल नए मैक में सभी प्रासंगिक सॉफ़्टवेयर का नवीनतम संस्करण है। अधिकांश यूज़र ऐप्स के लिए, आप सही होंगे, लेकिन अंतर्निहित फ्रेमवर्क के लिए यह एक अलग कहानी है। नए मैक अभी भी Python 2.7.10 के साथ शिप होते हैं, भले ही सबसे हालिया स्थिर रिलीज़ Python 3.5 है। यदि यह संस्करणों क