更新 14.SVD注释

This commit is contained in:
jiangzhonglian
2017-04-06 23:15:28 +08:00
parent 93b4844ce9
commit bc1dc96315

View File

@@ -37,6 +37,7 @@ def loadExData2():
def loadExData():
"""
# 推荐引擎示例矩阵
return[[4, 4, 0, 2, 2],
[4, 0, 0, 3, 3],
@@ -54,7 +55,7 @@ def loadExData():
[1, 1, 0, 2, 2],
[0, 0, 0, 3, 3],
[0, 0, 0, 1, 1]]
"""
# 相似度计算假定inA和inB 都是列向量
@@ -211,18 +212,18 @@ def imgCompress(numSV=3, thresh=0.8):
if __name__ == "__main__":
"""
# 对矩阵进行SVD分解(用python实现SVD)
Data = loadExData()
print Data
U, Sigma, VT = linalg.svd(Data)
# 打印Sigma的结果因为前3个数值比其他的值大了很多为9.72140007e+005.29397912e+006.84226362e-01
# 后两个值比较小,每台机器输出结果可能有不同可以将这两个值去掉
# print Sigma
print Sigma
# 重构一个3x3的矩阵Sig3
# Sig3 = mat([[Sigma[0], 0, 0], [0, Sigma[1], 0], [0, 0, Sigma[2]]])
# print U[:, :3] * Sig3 * VT[:3, :]
"""
Sig3 = mat([[Sigma[0], 0, 0], [0, Sigma[1], 0], [0, 0, Sigma[2]]])
print U[:, :3] * Sig3 * VT[:3, :]
"""
# 计算欧氏距离
@@ -241,6 +242,7 @@ if __name__ == "__main__":
"""
"""
# 计算相似度的方法
myMat = mat(loadExData2())
# print myMat
@@ -249,7 +251,6 @@ if __name__ == "__main__":
# 计算相似度的第二种方式
print recommend(myMat, 1, estMethod=svdEst, simMeas=pearsSim)
"""
# 默认推荐(菜馆菜肴推荐示例)
print recommend(myMat, 2)
"""
@@ -269,5 +270,3 @@ if __name__ == "__main__":
# 压缩图片
# imgCompress(2)