# Collaborative-filtering-recommendation-algorithm-based-on-kNN-model
numpy实现基于k近邻模型的协同过滤推荐算法
算法概述
推荐算法常用的有三种:基于人口统计学的推荐、基于内容的推荐、基于协同过滤的推荐。前两种是仅仅考虑用户或物品本身背景属性,将拥有相似属性的用户或物品分在一个集合里。第三种算法是在大量用户行为和数据中收集答案,以帮助对整个人群产生统计意义上的结论。此处我们重点讨论第三种,基于协同过滤的推荐算法。
协同过滤
核心是用户交互数据建模,可以分为三个子类:user-based recommendation,item-based recommendation,model-based recommendation。
基于用户的协同过滤推荐(user-based recommendation)
它的基本假设是,喜欢类似物品的用户可能有相同或者相似的口味和偏好。根据所有用户对物品或者信息的偏好,发现与当前用户口味和偏好相似的“邻居”用户群,在一般的应用中是采用计算“K- 近邻”的算法;然后,基于这 K 个邻居的历史偏好信息,为当前用户进行推荐。
这里写图片描述
基于项目的协同过滤推荐
基于项目的协同过滤推荐的基本原理也是类似的,只是说它使用所有用户对物品或者信息的偏好,发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户。
基于模型的协同过滤推荐
基于模型的协同过滤推荐就是基于样本的用户喜好信息,训练一个推荐模型,然后根据实时的用户喜好的信息进行预测,计算推荐。
协同过滤小结
优点:
a. 它不需要对物品或者用户进行严格的建模,而且不要求物品的描述是机器可理解的,所以这种方法也是领域无关的。
b. 这种方法计算出来的推荐是开放的,可以共用他人的经验,很好的支持用户发现潜在的兴趣偏好
缺点:
a. 方法的核心是基于历史数据,所以对新物品和新用户都有“冷启动”的问题。
b. 推荐的效果依赖于用户历史偏好数据的多少和准确性。
c. 在大部分的实现中,用户历史偏好是用稀疏矩阵进行存储的,而稀疏矩阵上的计算有些明显的问题,包括可能少部分人的错误偏好会对推荐的准确度有很大的影响等等。
d. 对于一些特殊品味的用户不能给予很好的推荐。
e. 由于以历史数据为基础,抓取和建模用户的偏好后,很难修改或者根据用户的使用演变,从而导致这个方法不够灵活。
k近邻算法KNN
算法原理
简单地说,k近邻算法就是采用测量不同特征值之间的距离方法进行分类。
优点:精度高,对异常值不敏感,无数据输入假定。
缺点:计算复杂度高,空间复杂度高。
适用数据类型:数值型和标称型。
伪代码如下:
1.计算样本点与当前点的距离
2.取出与当前点距离最小的前k个点
3.计算取出的k个点的类别出现频率
4.将出现频率最高的类别作为当前点的类别
生瓜蛋子
- 粉丝: 3927
- 资源: 7441
最新资源
- 流媒体服务zlm,支持天地伟业设备接入版本
- 三菱FX系列PLC温度PID控制程序(含注释和IO图、三菱触摸屏程序),程序已经应用于设备上,成熟可靠,有程序注释,触摸屏有注释值得参考和借鉴.
- 欧姆龙NJ的控制程序,里面功能齐全,相机,机器人,RFID,转盘,检测传感器,伺服等,里面模板程序大部分都是LAD写的,方便宜读,对于新手上手块,里面很多功能块都可以直接套用,程序里写的逻辑思维程序也
- 流媒体服务zlm,支持天地伟业设备接入版本
- 单相逆变变频器,双闭环控制策略,电压环和电流环均采用Pi控制,输出电压稳定 0~0.5S输出电压频率20HZ 0.5~1S输出电压频率50HZ 1~1.5S输出电压频率100HZ 也可以直接设置输出
- 2KW移相全桥整机Matlab Simulink仿真模型电源学习资料,报告mathcad参数设计,模型搭建过程,参考资料,仿真模型等,很全面的移相全桥学习资料
- CRUISE纯电动车仿真模型,simulink DLL联合仿真,实现电制动优先能量回收策略 关于模型:策略是用64位软件编译的,如果模型运行不了请将软件切成64位 切位置在启动界面platform
- 可以切割提取多页PDF集合中指定页码间的页
- 车辆紧急防避撞AEB控制,模型包含建立驾驶员制动模型来模拟制动过程,同时加入模糊控制实现期望减速度的计算,加入纵向发动机逆动力学模型实时求解期望节气门开度,驱动与制动的切控制,以及制动压力与减速度之间
- 遥感场景图像分类数据集【已标注,约15000张数据】
- 驾校模拟考试软件,理论考试练习软件
- 增加HID服务20250108-173901.7z
- 四轮独立驱动横摆角速度控制,LQR 基于LQR算法的 基于二自由度动力学方程,通过主动转向afs和直接横摆力矩dyc实现的横摆角速度跟踪 ,模型包括期望横摆角速度,质心侧偏角,稳定性因素,lqr模块等
- YS9082HP-MPToolV8.00.00.00.012-FW210520-release-B37&B47.rar
- YS9082HP-MPToolV8.00.00.01.025-HPS2704M-release-N38B.rar
- MATLAB环境下一种基于深度学习的NASA涡扇发动机 化仿真数据集剩余使用寿命预测方法 算法运行环境为matlab r2018a,执行基于深度学习的NASA涡扇发动机 化仿真数据集剩余使用寿命预测
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈