14.5.2 利用SVD提高推荐的效果 14.6

2023-09-13 10:39:4416:21 131
声音简介

SVD 提高推荐效率


# 基于SVD的评分估计


# 与standEst()非常相似,不同之处就在于它在第3行对数据集进行了SVD分解。在SVD分解后,只利用包含90%能量值的奇异值,这些奇异值以Numpy数组的形式得以保存。


def svdEst(dataMat, user, simMeas, item) :


    n = shape(dataMat)[1]


    simTotal = 0.0; ratSimTotal = 0.0


    U,Sigma,VT = la.svd(dataMat)


    # 使用奇异值构建一个对角矩阵


    Sig4 = mat(eye(4)*Sigma[:4])


    # 利用U矩阵将物品转换到低维空间中


    xformedItems = dataMat.T * U[:, :4] * Sig4.I


    # 对于给定的用户,for循环在用户对应行的所有元素上进行遍历,与standEst()函数中的for循环目的一样


    # 不同的是,这里的相似度是在低维空间下进行的。相似度的计算方法也会作为一个参数传递给该函数


    for j in range(n) :


        userRating = dataMat[user,j]


        if userRating == 0 or j == item : continue


        similarity = simMeas(xformedItems[item, :].T, xformedItems[j, :].T)


        # print便于了解相似度计算的进展情况


        print 'the %d and %d similarity is : %f' % (item, j, similarity)


        # 对相似度求和


        simTotal += similarity


        # 对相似度及评分值的乘积求和


        ratSimTotal += similarity * userRating


    if simTotal == 0 : return 0


    else : return ratSimTotal/simTotal




用户评论

表情0/300
喵,没有找到相关结果~
暂时没有评论,下载喜马拉雅与主播互动
猜你喜欢
我能完美利用规则

在别人还在被规则利用时……他〈数据删除〉!!!!

by:太空杀主播梦梦

如何利用看书赚钱

看到标题,你肯定会想,是不是看了书提升自己,然后才能赚钱啊。并不是,是真正的用看书这个行为,来赚取真金白银,知道方法的人已经人均年入50万了。想知道这里面的原理...

by:笨虎教你网上赚钱

如何利用抖音赚钱

当下抖音短视频正值火热,已经有许多人依靠抖音平台实现月入十万、百万。相信你在刷着抖音的时候也会看到各种网红带货,看也会看到某网红豪掷一亿购置豪宅,某某网红开豪车...

by:笨虎教你网上赚钱

减排和减排资源化利用

经过多年不懈的探索和研究,基于目前能源、动力、排放等领域的技术发展现状,创新性提出能源利用三大理念:让能量动起来、让热机冷下来、让排放变资源。都说废品是放错了地...

by:新能源新动力人

如何利用写影评赚钱

没想到写影评的收入也能超过主业吧,其实影评人逐渐成为一种职业,他们有着多种多样的变现方式。感兴趣吗?听音频吧

by:精神小鱼

废物再利用(完 结)

地球末世之后,资源枯竭,生存艰难。仅剩的地球人不得不依附于移民到地球上的异族族群中……程晓死了,死得莫名其妙,倒是幸运的重生了,却穿到了一个不受待见的废材身上。...

by:冰姬灵灵

你是在利用时间还是滥用时间

(想交流和进我们读书群的听友,加微(想交流和进我们读书群的听友,加微Fengchunming1960,请注明是通过什么途径了解到的播音)真正的财务自由是什么?财...

by:财务自由快乐冯

如何利用空余时间写作

如何利用空余时间写作如何出版自己的第一本书?微信公众号快速涨粉的7个技巧?如何通过写作投稿迅速变现?如何建立爆款内容素材库?10万+爆款文章都有哪些写作技巧?

by:好妈妈的日志