~随手记~
随手随记
~tech notes~
技术笔记开篇.
tech notes by 佚名 @ 2020-03-06 21:36:45
切到该章
收藏
从此续写
~hadoop mapreduce by streaming with python~
以经典的推荐算法中的协同过滤算法为例,看一下如何在hadoop的mapreduce机制上实现.
hadoop mapreduce by streaming with python by 佚名 @ 2020-03-06 21:40:45
切到该章
收藏
从此续写
~算法细分~
user-based和item-based
其user-item-rating数据具有共同的特点:量大/稀疏;
步骤相同:
1.构造user-item-rating矩阵;
2.计算相似度;
3.找top n,计算矩阵中未知的rating;
其中核心问题是计算user或者item的最近邻或者相似度;
相似度算法包括:pearson, cosin, ...
~hadoop streaming~
hadoop streaming实现的目标是:可以让任何语言编写的mapreduce程序都能在hadoop上运行;前提是这些map reduce程序遵循标准输入输出(stdin/stdout).
这简直是python党的福音,python有丰富的数据处理包,numpy/pandas/...,加之其动态脚本的特性,可以灵活的修改,免除类似java各种依赖编译之苦...
hadoop streaming by 佚名 @ 2020-03-06 23:05:18
切到该章
收藏
从此续写
~item-based 余弦相似度算法~
以item-based算法为例,做一个余弦相似度的mapreduce的python实现;
为何选cosin呢?因为这个实现起来简单,也好理解:D
item-based 余弦相似度算法 by 佚名 @ 2020-03-06 23:07:32
切到该章
收藏
从此续写
~余弦相似度~
余弦相似度用来判断两个向量的相似程度,原理是计算两个向量夹角的余弦值,其值越接近于1,夹角越小,两向量越相似;
公式是:两个向量的点乘积/两向量模的乘积;
由于向量的夹角和其长度无关,可以先对向量进行规范化,或者单位化,即转化为一个模为1的单位向量,然后再计算两个单位向量夹角余弦,此时分母为1,只计算两单位向量点乘积即可;
last by 匿名 @ 2020-03-07 10:19:32
章节模式
复制地址