实例思路
Top K问题
问题描述
在搜索引擎领域中,常常需要统计最近最热门的K
个查询词
从海量查询中统计出现频率最高的前K
个
解决思路
该问题可分解成两个MapReduce
作业,分别完成统计词频和找出词频最高的前K
个查询词的功能
两个作业存在依赖关系,第二个作业需要依赖前一个作业的输出结果
第一个作业是典型的WordCount
问题
对于第二个作业,首先map()
函数中输出前K
个频率最高的词,然后由reduce()
函数汇总
每个Map
任务得到的前K
个查询词,并输出频率最高的前K
个查询词
K-means聚类
问题描述
K-means
是一种基于距离的聚类算法。
它采用距离作为相似性的评价指标,认为两个对象的距离越近,其相似度就越大
该算法解决的问题可抽象成:给定正整数K
和N
个对象,如何将这些数据点划分为K
个聚类?
解决思路
首先随机选择K
个对象作为初始中心点
然后不断迭代计算,直到满足终止条件(达到迭代次数上限或者数据点到中心点距离的平方和最小)
在第I
轮迭代中,map()
函数计算每个对象到中心点的距离,选择距每个对象object
最近的中心点center_point
,并输出<center_point, object>
对
reduce()
函数计算每个聚类中对象的距离均值,并将这K
个均值作为下一轮初始中心点
贝叶斯分类
问题描述
贝叶斯分类是一种利用概率统计知识进行分类的统计学分类方法
该方法包括两个步骤:训练样本和分类
解决思路

网友评论