百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

协同过滤:使用共现矩阵来实现(协同过滤算法步骤)

off999 2024-10-14 12:13 40 浏览 0 评论

一、前言

各位网友大家好。十分感谢网友们的阅读、点赞和关注。有关机器学习算法协同过滤的共现矩阵问题国外的材料也有阐述,文章思想和数据集也借鉴了国外的Mahout之类的文章, 网上的文章我也看过,但是感觉总结的不算直观通俗,这里本文章通过自己的想法图文并茂的给大家展示。看在我花了很大的心思的份上,请大家关注、收藏、点赞啊,有了大家的支持,我才能花更多的心思把国外传过来的算法变得通俗易懂甚至改良,支持我在缩短您学习成本的同时也是在支持科技的发展,在此先表示对网友们的感谢!

二、算法的学习目的和环境

通过此文章了解协同过滤算法如何构建基于物品的同现矩阵;会使用Python进行矩阵运算。实验环境:

1、Python3.6以上版本

2、Python的基本数学库numpy、pandans、matplotlib、sklearn

3、Python的PyCharm开发环境

三、场景描述和共现矩阵的原理

1、场景描述

以前的文章也提到过,尽量使用通俗易懂的场景把抽象的东西变成直观的东西。现有7部科幻电影,电影编号及其电影名称如下:

M001 《星际穿越》

M002 《进入五维空间》

M003 《寻找第二地球》

M004 《VR虚拟世界的女友》

M005 《时间机器》

M006 《机器人女友》

M007 《月球基地》

下面是用户对上述科幻电影的观看记录及其评价行为的数据,数据字段之间使用Tab键分隔,数据的格式为:

用户编号 电影编号 评分(满分5分)

样本数据如下:

U001 M001 5.0

U001 M002 3.0

U001 M003 2.5

U002 M001 2.0

U002 M002 2.5

U002 M003 5.0

U002 M004 2.0

U003 M001 2.0

U003 M004 4.0

U003 M005 4.5

U003 M007 5.0

U004 M001 5.0

U004 M003 3.0

U004 M004 4.5

U004 M006 4.0

U005 M001 4.0

U005 M002 3.0

U005 M003 2.0

U005 M004 4.0

U005 M005 3.5

U005 M006 4.0


现用户U003看了M001、M004、M005、M007,请分析上述数据再为用户U003推荐1部精彩电影。

2、共现矩阵的原理

该原理参考了国外机器学习Mahout实战给读者列举下,大家尽量看,看不懂不要紧,我接下来以实际的图形并茂的例子阐述,然后你回过头来再看这段话估计就迎刃而解了。

基于物品的推荐系统,给出了计算任意一对物品之间相似度的方法。假设我们要计算出每个物品对之间的相似性,并将其结果导入一个巨大的矩阵,这应该是一个方阵,行和列的数目等于数据模型中的物品数。每行(以及每列)表达在一个特定物品和所有其它物品之间的相似性。事实上,把这些行和列看作向量有助于理解。该矩阵还是沿着对角线对称的,因为物品X与 Y之间的相似性与物品Y和X之间的相似性是一样的,所以行X和列Y上的条目也会等于在行Y和列X上的条目,这就是我们要构建的同现矩阵。

同现矩阵不是计算每个物品对之间的相似性,而是计算在某些用户偏好值列表中每个物品对共同出现的次数,以此来填充矩阵。例如,如果有9个用户都为物品X和Y做出了一些偏好,那么X和Y同时出现9次。共现关系与计算相似度很像:两个物品同时出现次数越多,它们越有可能相关或者相似。


四、数据准备

数据上面已经给出了。有的网友说,现在机器学习不是喂大数据吗?这种观点是错误的,在实际项目中,获取样本数据的成本是非常大的,大数据样本也是不现实的,很简单比如你有一火车皮的机器零件需要检验,难道你把整个车皮的零件都作为样本吗?显然不是,这时候我们可以经过抽样来计算总体的数学期望、方差等指标,也可以采用T分布、F分布等手段近似的代替正态分布,满足条件还可以采用强化学习等手段,当然你的集群很牛,都是多核CPU、GPU居多,使用大数据训练模型也未尝不可。

在学习中千万别为了大数据而大数据,典型的数据几十条、几百条足够了。从数据中能清晰看见我们处理的过程这是学习者追求的。

五、协同过滤共现矩阵的实现过程

1、 填充同现矩阵的数据

(1) 计算M001和“M001、M002、M003、M004、M005、M006、M007”同时出现的次数

从样本数据可以看出M001共出现5次;M001和M002同时出现3次;M001和M003同时出现4次,以此类推。

例如 M001和M002同时出现3次, 直观的展现如下示意图所示:


(2) 计算M002和“M001、M002、M003、M004、M005、M006、M007”同时出现的次数

...

(3) 计算M007和“M001、M002、M003、M004、M005、M006、M007”同时出现的次数

运算后的结果如下图所示的方阵:


2、实现矩阵运算


实现上述运算后的矩阵和用户U003矩阵相乘,如下图所示:


乘以下列矩阵:


结果为:


Python实现矩阵相乘的过程:

import numpy as np
A = np.array([[1,2],[3,4],[5,6]])
B = np.array([[1,2,3],[4,5,6]])
print(np.dot(A,B) )

A x B = C ,结果为:

[[ 9 12 15]

[19 26 33]

[29 40 51]]

C 的第1行为 :1x1+1x4 1x2 + 2x5 1x3+2x6

C 的第2行为 :3x1+4x4 3x2 + 4x5 3x3 +4x6

C 的第3行为 :5x1 + 6x4 5x2 +6x5 5x3 + 6x6


3、电影推荐

经过上述计算,除去用户U003看过的电影,第3部没有看过并且权值最高为24.5,所以应该推荐给U003编号为M003的电影《寻找第二地球》 。

由于代码功能很单一,主要是计算用户ID同时出现的个数然后填表和矩阵运算,比较简单,请自行完成。

相关推荐

安全教育登录入口平台(安全教育登录入口平台官网)

122交通安全教育怎么登录:122交通网的注册方法是首先登录网址http://www.122.cn/,接着打开网页后,点击右上角的“个人登录”;其次进入邮箱注册,然后进入到注册页面,输入相关信息即可完...

大鱼吃小鱼经典版(大鱼吃小鱼经典版(经典版)官方版)

大鱼吃小鱼小鱼吃虾是于谦跟郭麒麟的《我的棒儿呢?》郭德纲说于思洋郭麒麟作诗的相声,最后郭麒麟做了一首,师傅躺在师母身上大鱼吃小鱼小鱼吃虾虾吃水水落石出师傅压师娘师娘压床床压地地动山摇。...

谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)

要想将ppt免费转换为pdf的话,我们建议大家可以下一个那个wps,如果你是会员的话,可以注册为会员,这样的话,在wps里面的话,就可以免费将ppt呢转换为pdfpdf之后呢,我们就可以直接使用,不需要去直接不需要去另外保存,为什么格式转...

2026-02-04 09:03 off999

电信宽带测速官网入口(电信宽带测速官网入口app)

这个网站看看http://www.swok.cn/pcindex.jsp1.登录中国电信网上营业厅,宽带光纤,贴心服务,宽带测速2.下载第三方软件,如360等。进行在线测速进行宽带测速时,尽...

植物大战僵尸95版手机下载(植物大战僵尸95 版下载)

1可以在应用商店或者游戏平台上下载植物大战僵尸95版手机游戏。2下载教程:打开应用商店或者游戏平台,搜索“植物大战僵尸95版”,找到游戏后点击下载按钮,等待下载完成即可安装并开始游戏。3注意:确...

免费下载ppt成品的网站(ppt成品免费下载的网站有哪些)

1、Chuangkit(chuangkit.com)直达地址:chuangkit.com2、Woodo幻灯片(woodo.cn)直达链接:woodo.cn3、OfficePlus(officeplu...

2025世界杯赛程表(2025世界杯在哪个国家)

2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行,2022年,决赛阶段球队全部确定。揭幕战于当地时间11月20日19时进行,由东道主卡塔尔对阵厄瓜多尔,决赛于当地时间12月18日...

下载搜狐视频电视剧(搜狐电视剧下载安装)

搜狐视频APP下载好的视频想要导出到手机相册里方法如下1、打开手机搜狐视频软件,进入搜狐视频后我们点击右上角的“查找”,找到自已喜欢的视频。2、在“浏览器页面搜索”窗口中,输入要下载的视频的名称,然后...

pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
永久免费听歌网站(丫丫音乐网)

可以到《我爱音乐网》《好听音乐网》《一听音乐网》《YYMP3音乐网》还可以到《九天音乐网》永久免费听歌软件有酷狗音乐和天猫精灵,以前要跳舞经常要下载舞曲,我从QQ上找不到舞曲下载就从酷狗音乐上找,大多...

音乐格式转换mp3软件(音乐格式转换器免费版)

有两种方法:方法一在手机上操作:1、进入手机中的文件管理。2、在其中选择“音乐”,将显示出手机中的全部音乐。3、点击“全选”,选中所有音乐文件。4、点击屏幕右下方的省略号图标,在弹出菜单中选择“...

电子书txt下载(免费的最全的小说阅读器)

1.Z-library里面收录了近千万本电子书籍,需求量大。2.苦瓜书盘没有广告,不需要账号注册,使用起来非常简单,直接搜索预览下载即可。3.鸠摩搜书整体风格简洁清晰,书籍资源丰富。4.亚马逊图书书籍...

最好免费观看高清电影(播放免费的最好看的电影)

在目前的网上选择中,IMDb(互联网电影数据库)被认为是最全的电影网站之一。这个网站提供了各种类型的电影和电视节目的海量信息,包括剧情介绍、演员表、评价、评论等。其还提供了有关电影制作背后的详细信息,...

孤单枪手2简体中文版(孤单枪手2简体中文版官方下载)

要将《孤胆枪手2》游戏的征兵秘籍切换为中文,您可以按照以下步骤进行操作:首先,打开游戏设置选项,通常可以在游戏主菜单或游戏内部找到。然后,寻找语言选项或界面选项,点击进入。在语言选项中,选择中文作为游...

取消回复欢迎 发表评论: