mirror of
https://github.com/apachecn/ailearning.git
synced 2026-02-13 23:35:28 +08:00
更新 14章 文档部分
This commit is contained in:
@@ -52,14 +52,20 @@ def loadExData():
|
||||
[1, 1, 1, 0, 0],
|
||||
[5, 5, 5, 0, 0]]
|
||||
"""
|
||||
# # 原矩阵
|
||||
# return[[1, 1, 1, 0, 0],
|
||||
# [2, 2, 2, 0, 0],
|
||||
# [1, 1, 1, 0, 0],
|
||||
# [5, 5, 5, 0, 0],
|
||||
# [1, 1, 0, 2, 2],
|
||||
# [0, 0, 0, 3, 3],
|
||||
# [0, 0, 0, 1, 1]]
|
||||
|
||||
# 原矩阵
|
||||
return[[1, 1, 1, 0, 0],
|
||||
[2, 2, 2, 0, 0],
|
||||
[1, 1, 1, 0, 0],
|
||||
[5, 5, 5, 0, 0],
|
||||
[1, 1, 0, 2, 2],
|
||||
[0, 0, 0, 3, 3],
|
||||
[0, 0, 0, 1, 1]]
|
||||
return[[0, -1.6, 0.6],
|
||||
[0, 1.2, 0.8],
|
||||
[0, 0, 0],
|
||||
[0, 0, 0]]
|
||||
|
||||
|
||||
# 相似度计算,假定inA和inB 都是列向量
|
||||
@@ -297,12 +303,15 @@ def imgCompress(numSV=3, thresh=0.8):
|
||||
if __name__ == "__main__":
|
||||
|
||||
# # 对矩阵进行SVD分解(用python实现SVD)
|
||||
# Data = loadExData()
|
||||
# print Data
|
||||
# U, Sigma, VT = linalg.svd(Data)
|
||||
Data = loadExData()
|
||||
print 'Data:', Data
|
||||
U, Sigma, VT = linalg.svd(Data)
|
||||
# # 打印Sigma的结果,因为前3个数值比其他的值大了很多,为9.72140007e+00,5.29397912e+00,6.84226362e-01
|
||||
# # 后两个值比较小,每台机器输出结果可能有不同可以将这两个值去掉
|
||||
# print Sigma
|
||||
print 'U:', U
|
||||
print 'Sigma', Sigma
|
||||
print 'VT:', VT
|
||||
print 'VT:', VT.T
|
||||
|
||||
# # 重构一个3x3的矩阵Sig3
|
||||
# Sig3 = mat([[Sigma[0], 0, 0], [0, Sigma[1], 0], [0, 0, Sigma[2]]])
|
||||
@@ -326,10 +335,10 @@ if __name__ == "__main__":
|
||||
"""
|
||||
|
||||
# 计算相似度的方法
|
||||
myMat = mat(loadExData2())
|
||||
# myMat = mat(loadExData2())
|
||||
# print myMat
|
||||
# 计算相似度的第一种方式
|
||||
print recommend(myMat, 1, estMethod=svdEst)
|
||||
# print recommend(myMat, 1, estMethod=svdEst)
|
||||
# 计算相似度的第二种方式
|
||||
# print recommend(myMat, 1, estMethod=svdEst, simMeas=pearsSim)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user