{"id":19469708,"url":"https://github.com/niloth-p/page-ranker-with-node-graphs","last_synced_at":"2025-07-03T08:07:16.586Z","repository":{"id":130152685,"uuid":"112024532","full_name":"Niloth-p/Page-Ranker-with-Node-Graphs","owner":"Niloth-p","description":"Implementation of the page rank algorithm with node graphs for visualization of the data","archived":false,"fork":false,"pushed_at":"2020-08-08T22:27:41.000Z","size":1056,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-08T05:07:30.373Z","etag":null,"topics":["networkx","nodegraph","pagerank-algorithm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Niloth-p.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-11-25T18:11:01.000Z","updated_at":"2020-08-08T22:27:43.000Z","dependencies_parsed_at":"2023-05-02T11:01:32.983Z","dependency_job_id":null,"html_url":"https://github.com/Niloth-p/Page-Ranker-with-Node-Graphs","commit_stats":null,"previous_names":["niloth-p/page-ranker-with-node-graphs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Niloth-p%2FPage-Ranker-with-Node-Graphs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Niloth-p%2FPage-Ranker-with-Node-Graphs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Niloth-p%2FPage-Ranker-with-Node-Graphs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Niloth-p%2FPage-Ranker-with-Node-Graphs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Niloth-p","download_url":"https://codeload.github.com/Niloth-p/Page-Ranker-with-Node-Graphs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240683491,"owners_count":19840719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["networkx","nodegraph","pagerank-algorithm"],"created_at":"2024-11-10T18:53:35.454Z","updated_at":"2025-02-25T14:30:18.289Z","avatar_url":"https://github.com/Niloth-p.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"This program ranks all the web pages in any given dataset, according to the Page Rank Algorithm.\nIt implements topic specific page rank algo, on large graphs.\nAt the end, it displays the graphs of the nodes and their edges in multiple variations, according to the needs of the user,\nand the size of the node graph i.e the number of pages.\n\nCommand to run the program:\npython PageRanker.py\n\n\nPACKAGES REQUIRED:\n\nPackages time, deciaml, linecache, collections, random, matplotlib, networkx have been used in this program.\nTo install any required packages, type\npip install \u003cpackage-name\u003e\n\nFILES IN THE REPOSITORY:\n\nIR Assignment-2.pdf is the document describing the problem given as the assignment for the course Information Retrieval\nDesignDoc.pdf - The Design document\nhollins.dat - the dataset that I have used\nPageRank1.txt, rankednodesreadable.txt - files generated by the program during runtime, attached for reference\nPageRanker.py - the program file\nExamplePlots folder - has categorized figures of some plots that are drawn by the program\n\nMY DATASET:\n\nI have used the corpus from:\nKenneth Massey's Information Retrieval webpage:\nHollins.edu webbot crawl from January 2004\n6012 nodes(webpages), 23875 edges(links)\nmy data file - hollins.dat\n\n\nIMPLEMENTATION ON OTHER DATASETS:\n\nTo implement the page rank algorithm on other datasets, \ncreate a data file from the dataset in the following format:\n1st line - #ofnodes|#ofedges\n2nd to (N+1)th line - webpageID|URl\n(N+2)th line till the end - node|node (directed edges)\nThen the global variable file has to be altered, to the name of your data file\n\n\nRUNNING TIME : approximately 105s for the algo\n\n\nCONVERGENCE VALUE (the variable sumofdiffs in the program)\nI have found that setting the convergence value to 0.5 (which is done within the 1st iteration) itself gives pretty good results approximately. For more accuracy, you can reduce the s value to some 0.001 too, but that would take many iterations and the time taken will be #ofiterations*runningtime(as specified above), although the running time displayed in each run is the total running time of the algorithm.\nThe plots are set to be drawn from the last iteration, by default.\n\n\nUSER INPUT:\nTaking input n from the user for every graph individually,\n\n1. All 6012 nodes (pretty messy)\n2. n popular nodes\n    The 1st 10 nodes have only 6 nodes with edges inbetween them\n    The 1st 20 nodes have 11 nodes sharing edges\n    The 1st 30 nodes have 14 nodes sharing edges\n    The 1st 50 nodes have 31 nodes sharing edges\n3. 20 specific nodes\n    All of them have at least 1 common edge\n4. n random nodes\n    Higher the value of n, higher is the probability of getting nodes with common edges\n    On avg, for n=200 to 250, 30-40 nodes will be displayed\n\nAll these graphs are displayed sequentially\ni.e the next opens on closing the previous one\n\n\nTO DRAW THE PLOTS OF OTHER DISTRIBUTIONS OF NODES\n\nWrite a function to get the inputs for \n-\u003e list of edges, \n-\u003e the node size ratios, \n-\u003e and the mapping of the node labels with the list of nodes,\nthen call the draw_graph function with those objects as arguments\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniloth-p%2Fpage-ranker-with-node-graphs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fniloth-p%2Fpage-ranker-with-node-graphs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniloth-p%2Fpage-ranker-with-node-graphs/lists"}