美文网首页pyspark学习
案例4-优化Page-Rank算法

案例4-优化Page-Rank算法

作者: 7125messi | 来源:发表于2018-01-14 14:11 被阅读15次

partitionBy()函数优化RDD Joining

pageLinks =  [['a' ,['b','c','d']],
               ['b', ['d','c']],
               ['c', ['b']],
               ['d', ['a','c']]]
pageRanks =  [['a',1],
               ['b',1],
               ['c',1],
               ['d',1]]

numIter = 20

pageRanksRDD  = sc.parallelize(pageRanks, 2).partitionBy(2,hash).persist()
pageLinksRDD  = sc.parallelize(pageLinks, 2).partitionBy(2,hash).persist()
s = 0.85
def rankContribution(uris, rank):
     numberOfUris = len(uris)
     rankContribution = float(rank) / numberOfUris
     newrank =[]
     for uri in uris:
             newrank.append((uri, rankContribution))
     return newrank

for i in range(numIter):
         linksRank = pageLinksRDD.join(pageRanksRDD)
     contributedRDD = linksRank.flatMap(lambda x : rankContribution(x[1][0],x[1][1]))
     sumRanks = contributedRDD.reduceByKey(lambda v1,v2 : v1+v2)
     pageRanksRDD = sumRanks.map(lambda x : (x[0],(1-s)+s*x[1]))
 
pageRanksRDD.collect()

输出结果:
[('b', 1.357243795127982),
('d', 0.8746512999550939),
('a', 0.5217268024809147),
('c', 1.2463781024360086)]

相关文章

  • 案例4-优化Page-Rank算法

    partitionBy()函数优化RDD Joining 输出结果:[('b', 1.35724379512798...

  • 010_scala编程详解数组操作之数组转换

    使用yield和函数式编程转换数组 普通算法 算法案例:移除第一个负数之后的所有负数 优化算法

  • KNN算法-4-算法优化-KD树

    KD树 KNN算法的重要步骤是对所有的实例点进行快速k近邻搜索。如果采用线性扫描(linear scan),要计算...

  • 优化方法总结

    优化算法框架 神经网络模型中有多种优化算法,优化算法的作用用来优化更新参数。对于优化算法而言,主要的框架如下。参数...

  • 网易微专业-机器学习工程师 百度网盘分享

    课程大纲: 导论 机器学习介绍与算法一览 算法与案例:线性回归与逻辑回归 算法与案例:树模型 算法与案例:支持向量...

  • 算法踩坑6-二叉搜索树排序

    背景 接上面五篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 算法踩坑4-冒泡排序 ...

  • 腾讯广告算法大赛随手记-目录

    腾讯广告算法大赛随手记1含福利腾讯广告算法大赛随手记2腾讯广告算法大赛随手记3腾讯广告算法大赛随手记4-全局思路腾...

  • 优化器

    优化器(optim) 优化算法模块(torch.optim) torch.optim 实现了丰富的优化算法,包括S...

  • 算法踩坑5-归并排序

    背景 接上面四篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 算法踩坑4-冒泡排序 来...

  • 8. 优化案例

    1. 十大经典算法及其优化2.几种常见的优化算法3. 经验之谈:优化算法两句话精炼总结

网友评论

    本文标题:案例4-优化Page-Rank算法

    本文链接:https://www.haomeiwen.com/subject/pfpkoxtx.html