在实际应用中广泛使用的推荐系统通常都是基于协同过滤算法,此类算法通常都需要计算用户之间或者项目之间的相似度,对于数据量和数据类型不同的数据源,需要不同的相似度计算方法来提升推荐性能,在Mahout中提供了大量用于计算相似度的组件,这些组件分别实现了不同的相似度计算方法。下面就简单介绍几个重点相似度计算方法:
皮尔森相关度
该相似度并非最佳选择,但也不是最坏的,只是因为它便于理解。使用皮尔森线性相关系数必须假设数据是成对地从正态分布中取得,并且数据至少在逻辑范畴内必须是等间距的数据。Mahout中,皮尔森相关计算得到了扩展,通过增加一个枚举类型(Weighting)参数来使重叠数成为计算相似度的影响因子。
欧式距离相似度
与皮尔森相似度类似,该相似度并未考虑重叠数对结果的影响,同样,Mahout通过增加一个枚举类型(Weighting)的参数来使得重叠数也成为计算相似度的影响因子。
余弦相似度
在数学表达中,如果对两个项的属性进行了数据中心化,计算出来的余弦相似度和皮尔森相似度是一样的,在mahout中,实现了数据中心化过程,所以皮尔森相似度值也可理解为数据中心化后的余弦相似度。在新版的Mahout中提供了UncenteredCosineSimilarity类作为计算非中心化数据的余弦相似度。
为了让同学们更好地入门大数据Mahout,所以小编为大家整理了Mahout技术入门的相关资料,希望对大家的大数据学习有所帮助。有需要的同学私信联系小编即可!
欢迎大家留言一起讨论!
领取专属 10元无门槛券
私享最新 技术干货