谷歌pageRank算法简单实现

谷歌PageRank图算法在金融客户营销中的应用 谷歌PageRank图算法在金融客户营销中的应用一、PageRank算法原理介绍二、PageRank 算法代码实现三、PageRank算法在金融中的应用 万物皆有源—PageRank算法起源 提及PageRank算法,还得从搜索界的老大哥google说起。PageRank,顾名思义网页排名,是一种根据网页之间相互的超链接计算的技术,这个算法的发明者之一是谷歌的CEO拉里·佩奇(Larry Page),所以又称Larry Page。 PageRank算法最早是为了解决海量网页的分类与排名,早期的搜索引擎采 阅读详情

发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967

课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。

腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518

第二个视频发布  https://edu.youkuaiyun.com/course/detail/27109

腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518

介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange,endpoint,event,conponentstatus,node,apiservice,controllerRevision等。

第三个视频发布:https://edu.youkuaiyun.com/course/detail/27574

详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件
————————————————------------------------------------------------------------------------------------------------------------------

1 参考根据幻灯片中第9页所给出的“4网页模型” ,现假设有A,B,C,D,E五个网页,其中 
1)A网页有链接指向B,C,D,E 
2)B网页有链接指向A,D 
3)C网页有链接指向A,D 
4)D网页有链接指向C 
5)E网页有链接指向A,C 
A 请写出这个网页链接结构的Google矩阵,目测你认为哪个页面的重要性(PR值)最高? 
B(本题可选)手动或编程计算这5个页面的PR值,可以使用任何你熟悉的编程语言,欢迎在论坛上晒自己的程序和结果 

 

C(本题可选)指出当页面较多的时候,计算PR的主要困难在什么地方,Map-Reduce是怎么解决这个难题的? 

 

A的实现:

 

package demo;

public class PageRank {
	public static int[][] linkMatrix(){
		int[] A=new int[5];
		A[0]=0;A[1]=1;A[2]=1;A[3]=1;A[4]=1;
		int[]B=new int[5];
		B[0]=1;B[1]=0;B[2]=0;B[3]=1;B[4]=0;
		int []C=new int[5];
		C[0]=1;C[1]=0;C[2]=0;C[3]=1;C[4]=0;
		int []D=new int[5];
		D[0]=0;D[1]=0;D[2]=1;D[3]=0;D[4]=0;
		int []E=new int[5];
		E[0]=1;E[1]=0;E[2]=1;E[3]=0;E[4]=0;
		int [][] linkMatrix=new int[][]{A,B,C,D,E};
		return linkMatrix;
	}
	
	public static double[][]generateSMatrix(int[][]linkMatrix){
		double[][] sMatrix=new double[linkMatrix.length][linkMatrix[0].length];
		int [] linkSum=new int[linkMatrix.length];
		for(int i=0;i<linkMatrix.length;i++){
			 int sum=0;
			 for(int j=0;j<linkMatrix[i].length;j++){
				sum+=linkMatrix[i][j];
			 }
			 linkSum[i]=sum;
		 }
		for(int i=0;i<sMatrix.length;i++){
			 for(int j=0;j<sMatrix[i].length;j++){
				 sMatrix[j][i]=linkMatrix[i][j]/((double)linkSum[i]);
			 }
		} 
		return sMatrix;
	}
	
	public static double [][]generateGMatrix(double alpha,double[][]sMatrix){
		double [][]gMatrix=new double[sMatrix.length][sMatrix.length];
		for(int i=0;i<sMatrix.length;i++){
			 for(int j=0;j<sMatrix[i].length;j++){
				 gMatrix[i][j]=sMatrix[i][j]*alpha+(1-alpha)/sMatrix.length;
			 }
		} 
		return gMatrix;
	}
	
	public static double[] generateQVecotor(double quanlity,double[]qVecotor,double[][]gMatrix){
		double[] nextQVecotor=new double[qVecotor.length];
		for(int i=0;i<gMatrix.length;i++){
			 for(int j=0;j<gMatrix[i].length;j++){
				 nextQVecotor[i]+=gMatrix[i][j]*qVecotor[j];
			 }
		} 
		boolean pass=true;
		for(int i=0;i<nextQVecotor.length;i++){
			if(Math.abs(nextQVecotor[i]-qVecotor[i])>quanlity){
				pass=false;
			}
		}
		if(pass){
			return nextQVecotor;
		}else{
			return generateQVecotor(quanlity,nextQVecotor,gMatrix);
		}
	}
	
	public static void main(String[] args) {
		 int[][] linkMatrix=linkMatrix();
		 System.out.println("连接矩阵(横向)");
		 for(int i=0;i<linkMatrix.length;i++){
			 for(int j=0;j<linkMatrix[i].length;j++){
				 System.out.print(linkMatrix[i][j]+"   ");
			 }
			 System.out.println();
		 }
		 System.out.println("S矩阵(纵向)");
		 double[][]sMatrix=generateSMatrix(linkMatrix);
		 for(int i=0;i<sMatrix.length;i++){
			 for(int j=0;j<sMatrix[i].length;j++){
				 System.out.print(sMatrix[i][j]+"   ");
			 }
			 System.out.println();
		 }
		 System.out.println("G矩阵(纵向)");
		 double [][]gMatrix=generateGMatrix(0.8,sMatrix);
		 for(int i=0;i<gMatrix.length;i++){
			 for(int j=0;j<gMatrix[i].length;j++){
				 System.out.print(gMatrix[i][j]+"   ");
			 }
			 System.out.println();
		 }
		 
		 double quantity=0.00000001;
		 double[] qVecotor=new double[]{1,1,1,1,1};
		 double [] finallyQVecotor=generateQVecotor(quantity,qVecotor,gMatrix);
		 System.out.println("Q向量");
		 for(int i=0;i<finallyQVecotor.length;i++){
			 System.out.print(finallyQVecotor[i]+"  ");
		 }
	}
}

 

 

 

 

 

55、无监督学习与谷歌PageRank算法详解 本文详细介绍了无监督学习中的局部多维尺度分析(Local MDS)和谷歌PageRank算法,涵盖其数学原理、优化方法及实际应用。同时,深入解析了一系列相关算法练习,涉及聚类、降维、矩阵分解、密度估计等多个领域,帮助读者系统掌握无监督学习的核心技术与实践方法。 阅读详情

相关推荐

13、矩阵特征值问题求解与谷歌PageRank算法解析

本文深入探讨了矩阵特征值问题的多种求解算法,包括QR算法、QZ算法和Schur分解,并结合MATLAB实现进行说明。同时详细解析了谷歌PageRank算法的原理与实现步骤,涵盖网络建模、Google矩阵构建及主导特征向量求解。通过性能比较、示例代码与练习题解答,展示了这些算法在实际中的应用价值,特别是在大规模稀疏矩阵处理和网页排名中的关键作用。

star5的专栏 74

QVector基本用法

QVector基本用法 QVector是Qt对所有数组的封装,比如我们想要一个int类型数组,我们原先会写int array[10],我们在Qt里可以写QVector array(10),赋值的时候,我们依然可以照旧array[5]=4;想获取某一项的值也还可以array[9],也就是说,原来的特性我们还可以用。 那么QVector有什么好处呢? 我们可以用count函数获知数组中有多少个元素,方便遍历,原先我们必须预定义好大小,而用QVector虽然最好也先定义好大小,但是预先不定义也可以。 我们可以

计算机辅助工程 1万+

知识图谱本体建模工具Protege使用教程

1.下载 先去官网下载:protégé 直接下最新版,点击会有注册页面,只填必填项的name和project description即可。 下载后解压即可使用。 2、安装可视化工具Graphviz 去官网:Download | Graphviz下载。下一个最新版的zip就行。 我解压在了Protege文件夹下,然后在 Preference下指定目录。 指定一下你解压完的Graphviz下的dot.exe,确定。 PS:如果这样报错就尝试在环境变量的系统变量的...

子麒的博客 2万+

QVector用法详细介绍

QVector类是动态数组的模板类,顺序容器,它将自己的每一个对象存储在连续的内存中,可以使用索引号来快速访问它们。使用前需要包含头文件 #include <QVector> 下面介绍QVector的基本用法,先看看它的一些方法: 构造函数 QVector()  //无参的构造函数 QVector(int size) //构造一个大小为size个 值......

琅嬛福地 3万+

ECB oracle——attack

基于ECB oracle的攻击方案前言什么是ECB方案步骤1.确定块大小和明文大小2.暴力破解求明文脚本代码 前言 参考文章:Breaking ECB by prepending your own message. 环境地址:ECB oracle 什么是ECB 分组密码中AES的一种模式(其他还有:CBC、ECB、CTR、OCF、CFB)如图每一块加密是分开的。 方案步骤 1.确定块大小和明文大小 先用一个字符"a"去encrypt返回32个字节的数据(64位16进制)依次用"aa",“aaa”…去en

weixin_44617902的博客 1311

灰度图像采集显示

灰度图像采集显示 在FPGA内部,采集到的视频数据线通过一个FIFO,将原本与25MHZ时钟同步的数据流转换到FPGA内部50MHZ的时钟。接着将这个数据再送入写DDR3缓存的异步FIFO中,这个FIFO中的数据一旦达到一定数量,就会被写入DDR3中。于此同时,使用另一异步FIFO缓存从DDR3读出的图像数据;LCD驱动模块不断地发出读图像数据请求给到这个FIFO,从中读取图像数据并送给VGA显示器进行实时图像的显示。 ...

小柚子的博客 484

PageRank算法 -- 从原理到实现

本文整理自博文PageRank算法 – 从原理到实现 1. 算法来源 这个要从搜索引擎的发展讲起。最早的搜索引擎采用的是 分类目录1的方法,即通过人工进行网页分类并整理出高质量的网站。那时 Yahoo 和国内的 hao123 就是使用的这种方法。 后来网页越来越多,人工分类已经不现实了。搜索引擎进入了 文本检索 的时代,即计算用户查询关键词与网页内容的相关程度来返回搜索结果。这种方法突破了数量的限...

Mr.Phoebe的专栏 5万+

Sigrity System Explorer Transient Analysis模式进行瞬态仿真分析操作指导-单端信号-并联端接

Sigrity System Explorer Transient Analysis模式可以用于瞬态仿真分析,通过搭建简易拓扑用于前仿真分析通道的时域性能,下面搭建一个简易的单端拓扑并且进行并联端接,以下图为例,准备好发送接收端的IBIS模型, (se_example.ibs,本例发送接收端都使用相同的IBIS模型),以及传输线的S参数模型(W1_welement_se.sp)最上方的图形界面是传输线的模型,本例是一个上下都有参考平面的带状线,右侧的梯形是蚀刻角度,根据W1和W2以及铜厚来确定。

weixin_54787054的博客 375

Google核心技术之——PageRank算法scala实现

PageRank算法简述常言道,看一个人怎样,看他有什么朋友就知道了。也就是说,一个人有着越多牛X朋友的人,他是牛X的概率就越大。将这个知识迁移到网页上就是“被越多优质的网页所指的网页,它是优质的概率就越大”。PageRank是Google创始人提出来的,算法的发展也经历了很多次优化。至于原理这边就不累赘了,同学们可以自行谷歌~~工程化实现 1.输入数据2,1 2,4 3,2 3,5 4,1 5,

博客内容皆为原创 4271

【论文翻译】YOLO26: KEY ARCHITECTURAL ENHANCEMENTS AND PERFORMANCE BENCHMARKING FOR REAL-TIME OBJECT DETEC

本研究对Ultralytics YOLO26进行了全面分析,重点阐述了其在实时边缘目标检测领域的关键架构改进与性能基准测试结果。YOLO26于2025年9月发布,是YOLO系列中最新、最先进的模型,专为在边缘设备和低功耗设备上实现高效能、高精度和部署就绪性而设计。论文依次详细介绍了YOLO26的架构创新,包括移除分布焦点损失(DFL)、采用端到端无非极大值抑制(NMS)推理、集成渐进式损失(ProgLoss)和小目标感知标签分配(STAL),以及引入MuSGD优化器以实现稳定收敛。

Limiiiing的博客 1689

GD32F470移植LWIP协议,PHY芯片DP83848I

也就是说前24位是有规定的,其中48位MAC中的前几位也是有着对应的含义的。2、旧版LWIP(如1.4.1)存在DHCP状态机卡死问题,建议升级至2.1.3+。

m0_61973119的博客 1591

PageRank算法原理与实现

正文共835个字,8张图,预计阅读时间6分钟。1、PageRank1.1.简介PageRank,又称网页排名、谷歌左侧排名,是一种由搜索引擎根据网页之间相互的超链接计算的...

leadai的博客 5万+

【TCAD】AlGaN 器件的Sentaurus仿真

否则,必须在 LatticeParameters Sentaurus Device 的参数文件中的部分。Sentaurus Device 有两个工具实例:第一个工具实例, sd_fdiv ,模拟正向偏置特性,第二个工具实例, sd_rviv ,模拟反向偏置特性直至击穿。对于牛顿求解器,通常应该将非线性迭代次数限制为一个足够小的值,例如 Iterations=20 ,同时通过指定非阻尼迭代次数高于允许的牛顿迭代次数来避免解的阻尼( NotDamped=30 )。晶胞中的 Ga-N 键为橙色。

荷塘阅色 1215

谷歌pagerank算法(谷歌搜索引擎的pagerank算法的原理)

谷歌pagerank算法   【e6zzseo】专注seo搜索引擎优化技术8年以上,更新关于seo优化技术、seo推广、分享SEO优化工具、最新前沿seo套路技术研究开发。 谷歌是目前世界上最受欢迎的搜索引擎,无论是对于普通的冲浪者还是站长。它每天处理多达1.5亿次搜索请求,几乎占全球所有搜索的三分之一。由于谷歌提供的快速搜索速度和高命中率搜索结果,互联网冲浪者对谷歌情有独钟。这些都是基于谷歌复杂的文本匹配算法和Pagerank & # 8482系统(Web级技术)。我们将介绍Google Pa

seo优化推广前沿技术【e6zzseo】 2721

零基础做AI漫剧:Kimi K2.5写本 + Flux生图 + Seedance 2.0动效的保姆级教程

很多零基础小伙伴想做AI漫剧,却被“写剧本、画分镜、做动效”三大难题劝退——不会写剧情、不会画插画、不会做动态,觉得门槛太高。其实不用慌!今天就给大家带来保姆级教程,全程用Kimi K2.5(写剧本)、Flux(生分镜图)、Seedance 2.0(做动效)三个工具,不用专业技能,不用手动绘画,零基础也能在1小时内做出1分钟完整AI漫剧,全程步骤拆解、示例齐全,跟着做就能出片!

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 3043

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

谷歌pagerank算法简介

  在这篇博客中我们讨论一下谷歌pagerank算法。这是参考的原博客连接:http://blog.jobbole.com/71431/   PageRank的Page可是认为是网页,表示网页排名,也可以认为是Larry Page(google 产品经理),因为他是这个算法的发明者之一,还是google CEO(^_^)。PageRank算法计算每一个网页的PageRank值,然后根据...

weixin_30478619的博客 239

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

PageRank算法:谷歌的基石与互联网的变革力量

PageRank算法:谷歌的基石与互联网的变革力量

一起coding,一起嗨。 835

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

谷歌的网页排序算法(PageRank Algorithm)

本文将介绍谷歌的网页排序算法(PageRank Algorithm),以及它如何从250亿份网页中捞到与你的搜索条件匹配的结果。它的匹配效果如此之好,以至于“谷歌”(google)今天已经成为一个被广泛使用的动词了。 如何辨别谁重要 如果你曾建立过一个网页,你应该会列入一些你感兴趣的链接,它们很容易使你点击到其它含有重要、可靠信息的网页。这样就相当于你肯定了你所链接页面的重要性。谷歌的网页排序...

weixin_33778544的博客 1456

改变世界的谷歌PageRank算法

改变世界的谷歌PageRank算法

保持学习 351

谷歌背后的线性算法——PageRank笔记(一)

谷歌背后的线性算法一、引入排名网页的公式 一、引入 谷歌的成功,很大程度上取决于它的PageRank算法,这个算法是根据一个加权链接矩阵的特征向量,将网页按照重要性排名的。 谷歌的搜索引擎需要做三个基本的工作: 爬取网页,并定位所有有公共使用权的网页; 利用从第一步中获得数据做出索引,以便能够找到确切的关键字或语句; 在数据库中评估每个网页的重要性,以便使用者在查找信息时,能够获得想要的信息,并...

地瓜骑士●'◡'●的博客 558

PageRank:核心算法|谷歌如何从网络的大海里捞到针

转自:http://mp.weixin.qq.com/s?__biz=MjM5MTQzNzU2NA==&mid=401631721&idx=1&sn=1ae78319214b25b1f2ed1ef2c3acb8cc&scene=0#wechat_redirect 大数据文摘 摘自: David Austin 善科文库 超级数学建模 包括谷歌在内

hjwang1的专栏 1730

谷歌pagerank算法 python实现

Google’s PAGERANK uses the hyperlink structure of the Web to view in-links into a page as a recommendation of that page from the author of the in-linking page and In-links. Hence,Good pages will have ...

keep coding 1238

利用雅可比法求解谷歌pagerank算法的排序问题

利用雅可比法求解谷歌pagerank算法的排序问题

libingyu_的博客 300

PageRank 算法详解 —— 从谷歌搜索到图算法应用

PageRank 算法是将“网页排名”转化为图论 + 概率论问题的经典案例。它展示了数学思想如何改变互联网的格局。链接即投票,投票有权重使用阻尼因子解决死链、循环等问题本质是马尔可夫链的稳态分布今天,PageRank 不再是搜索引擎唯一的排序依据,但它依然在图计算网络分析等领域广泛应用。

欢迎来到我的优快云个人博客主页! 1513

谷歌PageRank算法

1. 从Google网页排序到PageRank算法 (1)谷歌网页怎么排序? 先对搜索关键词进行分词,如“技术社区”分词为“技术”和“社区”; 根据建立的倒排索引返回同时包含分词后结果的网页; 将返回的网页相关性(类似上篇文章所讲的文本相似度)网页,相关性越高排名越靠前 (2)怎么处理垃圾网页?那么问题来了,假如有某个垃圾网页中虽然也包含大量的查询词,但却并非满足用...

weixin_30823833的博客 273
上一篇: eclipse 下 hadoop debug 笔记
下一篇: Hadoop平台优化综述
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值