RDD可以看成一个简单的“数组”,对其进行 操作也只需要调用有限的数组中的方法即可。 它与一般数组的区别在 于:RDD是分布式存储,可以更好地利用现有的云数据平台,并在内存中运行。
RDD是Resilient Distributed Datasets的简称,翻译成中文为“弹性分布式数据集”, 这个语义揭示了RDD实质上是存储在不同节点计算机中 的数据集。 分布式存储最大的好处是可以让数据在不同的工作节点上并 行存储, 以便在需要数据的时候并行运算,从而获得最迅捷的运行效率。
RDD可以将其看成一个分布在不同节点 中的分布式数据集,并将数据以数据块(Block)的形式存储在各个节点的计算机中, 整体布局如图3-2所示。
协同过滤(Collaborative Filtering)算法是一种基于群体用户或者物 品的典型推荐算法, 也是目前常用的推荐算法中最常用和最经典的算法。 可以这么说,协同过滤算法的确认就是标准推荐算法作为一种可行 的机器推荐算法标准步入正轨。
协同过滤算法主要有两种:
总体来说,协同过滤算法就是建立在基于某种物品和用户之间相互 关联的数据关系之上。
对于基于用户相似性的推荐,用简单的一个词表述,那就是“志趣相投”。
“物以类聚”
欧几里得距离(Euclidean distance)是最常用计算距离的公式,它 表示三维空间中两个点的真实距离。
欧几里得相似度计算是一种基于用户之间直线距离的计算方式。
在 相似度计算中,不同的物品或者用户可以将其定义为不同的坐标点,而 特定目标定位为坐标原点。
使用欧几里得距离计算两个点之间的绝对距离,公式如下:
补充: 由于在欧几里得相似度计算中,最终数值的大小与相似 度成反比, 因此在实际应用中常常使用欧几里得距离的倒数作为相似度值,即1/d+1作为近似值。
从公式可以看到,作为计算结果的欧式值显示的是两点之间的直线 距离, 该值的大小表示两个物品或者用户差异性的大小,即用户的相似 性如何。 如果两个物品或者用户距离越大,则可以看到其相似度越小, 距离越小则相似度越大。 来看一个例子,表5-1是一个用户与其他用户 打分表:
如果需要计算用户1和其他用户之间的相似度,通过欧几里得距离 公式可以得出:
感谢帮助!
本文作者: yiyun
本文链接: https://moeci.com/posts/分类-大数据/Spark-MLlib/
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!