矩阵分解在推荐系统中的应用:NMF和经典SVD实战(2).docx
《矩阵分解在推荐系统中的应用:NMF和经典SVD实战(2).docx》由会员分享,可在线阅读,更多相关《矩阵分解在推荐系统中的应用:NMF和经典SVD实战(2).docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、矩阵分解在推荐系统中的应用:NMF和经典SVD实战(2)已经有过介绍。用户以及物品的主题分布#!/usr/bin/python2.7#coding:UTF-8importnumpyasnpfromsklearn.decompositionimportNMFimportmatplotlib.pyplotaspltRATE_MATRIXnp.array(5,5,3,0,5,5,5,0,4,0,4,4,0,3,0,5,4,5,5,4,3,3,5,5nmfNMF(n_components2)#设有2个隐主题user_distributionnmf.fit_transform(RATE_MATRIX)i
2、tem_distributionnmfponents_print用户的主题分布printuser_distributionprint物品的主题分布printitem_distribution运行后输出用户的主题分布2.208842750.841374922.08253282-0.-0.3.181544061.849926031.60839505物品的主题分布2.41299311.025242351.622581520.1.801110781.695919430.04357411.135060940.1.545263371.212534941.48756118可视化物品的主题分布#!/usr/b
3、in/python2.7#coding:UTF-8importnumpyasnpfromsklearn.decompositionimportNMFimportmatplotlib.pyplotaspltRATE_MATRIXnp.array(5,5,3,0,5,5,5,0,4,0,4,4,0,3,0,5,4,5,5,4,3,3,5,5nmfNMF(n_components2)user_distributionnmf.fit_transform(RATE_MATRIX)item_distributionnmfponents_item_distributionitem_distribution.
4、Tplt.plot(item_distribution:,0,item_distribution:,1,b*)plt.xlim(-1,3)plt.ylim(-1,3)plt.title(uthedistributionofitems(NMF)count1foriteminitem_distribution:plt.text(item0,item1,itemstr(count),bboxdict(facecolorred,alpha0.2),)count1plt.show()结果从间隔的角度来看item5以及item6比拟类似从余弦相似度角度看item2、5、6比拟相似item1、3比拟相似。可
5、视化用户的主题分布#!/usr/bin/python2.7#coding:UTF-8importnumpyasnpfromsklearn.decompositionimportNMFimportmatplotlib.pyplotaspltRATE_MATRIXnp.array(5,5,3,0,5,5,5,0,4,0,4,4,0,3,0,5,4,5,5,4,3,3,5,5nmfNMF(n_components2)user_distributionnmf.fit_transform(RATE_MATRIX)item_distributionnmfponents_usersBen,Tom,John,
6、Fredzip_datazip(users,user_distribution)plt.title(uthedistributionofusers(NMF)plt.xlim(-1,3)plt.ylim(-1,4)foriteminzip_data:user_nameitem0dataitem1plt.plot(data0,data1,b*)plt.text(data0,data1,user_name,bboxdict(facecolorred,alpha0.2),)plt.show()结果从间隔的角度来看Fred、Ben、Tom的口味差不多从余弦相似度角度看Fred、Ben、Tom的口味还是差
7、不多。怎样推荐如今对于用户A怎样向其推荐物品呢方法1找出与用户A最相似的用户B将B评分过的、评分较高、A没评分过的的假设干物品推荐给A。方法2找出用户A评分较高的假设干物品找出与这些物品相似的、且A没评分的假设干物品推荐给A。方法3找出用户A最感兴趣的k个主题找出最符合这k个主题的、且A没评分的假设干物品推荐给A。方法4由NMF得到的两个矩阵重建评分矩阵。例如#!/usr/bin/python2.7#coding:UTF-8importnumpyasnpfromsklearn.decompositionimportNMFimportmatplotlib.pyplotaspltRATE_MATR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 矩阵 分解 推荐 系统 中的 应用 NMF 经典 SVD 实战
限制150内