PersonalRank算法
概述
PersonalRank算法又称Personalized PageRank算法。该算法继承了经典PageRank算法的思想,利用图链接结构来递归计算各节点的重要性。与PageRank算法不同的是,为了保证随机行走中各节点的访问概率能够反映出用户的偏好,PersonalRank算法在随机行走中的每次跳转会以(1-alpha)的概率返回到source节点,因此可以基于source节点个性化地计算网络节点的相关性和重要性。(PersonalRank值越高,source节点的相关性/重要性越高)。
适用场景
PersonalRank算法适用于商品推荐、好友推荐和网页推荐等场景。
参数说明
参数 |
是否必选 |
说明 |
类型 |
取值范围 |
默认值 |
---|---|---|---|---|---|
source |
是 |
节点的ID |
String |
- |
- |
alpha |
否 |
权重系数 |
Double |
0~1,不包括0和1 |
0.85 |
convergence |
否 |
收敛精度 |
Double |
0~1,不包括0和1 |
0.00001 |
max_iterations |
否 |
最大迭代次数 |
Int |
1~2000 |
1000 |
directed |
否 |
是否考虑边的方向 |
Bool |
true或false |
true |
- alpha决定跳转概率系数,也称为阻尼系数,是算法内的计算控制变量。
- convergence定义每次迭代各个点相较于上次迭代变化的绝对值累加和上限,当小于这个值时认为计算收敛,算法停止。
注意事项
收敛精度(convergence)设置较大值时,迭代会较快停止。
示例
输入参数source=Lee,alpha=0.85,converage=0.00001,max_iterations=1000,directed=true,计算结果中的top节点组成的子图会展示在绘图区,节点大小根据PersonalRank值的大小来区别,JSON结果会展示在查询结果区。