SVD:Singular Value Decomposition
14.1 优缺点:
优点:简化数据,去除噪声,提高算法的结果
缺点:数据的转换可能难以理解
适用数据类型:数值型数据
14.2 常见应用:
隐性语义索引(Latent Semantic Indexing,LSI)/隐性语义分析(Latent Semantic Analysis,LSA)
推荐系统
14.3 基于协同过滤的推荐引擎:
协同过滤(collaborative filtering):通过将用户和其他用户的数据进行对比来实现推荐。
14.3.1 相似度计算
(协同过滤中并不关心物品的描述属性,而是严格地按照许多用户的观点来计算相似度):
将相似度的范围归一化到0-1,越接近0,相似度越低。越接近1,相似度越高。
欧式距离:
相似度 = 1/(1+距离)
#相似度计算:假定inA和inB都是列向量
#基于欧式距离:Euclidean distance
#欧式距离是二范式,可以使用norm来实现
def euclidSim(inA, inB):
return 1.0 / (1.0 + la.norm(inA - inB))
皮尔逊相关系数(Pearson correlation):corrcoef()[[-1,1]---->0.5 + 0.5 * corrcoef()