# 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.将出现频率最高的类别作为当前点的类别
没有合适的资源?快使用搜索试试~ 我知道了~
numpy实现基于k近邻模型的协同过滤推荐算法.zip
共1个文件
md:1个
需积分: 5 0 下载量 170 浏览量
2024-05-19
21:56:43
上传
评论
收藏 2KB ZIP 举报
温馨提示
协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品。 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大量的历史数据和较高的数据质量。 容易受到“冷启动”问题的影响,即对新用户或新商品的推荐效果较差。 存在“同质化”问题,即推荐结果容易出现重复或相似的情况。 协同过滤算法在多个场景中有广泛的应用,如电商推荐系统、社交网络推荐和视频推荐系统等。在这些场景中,协同过滤算法可以根据用户的历史行为数据,推荐与用户兴趣相似的商品、用户或内容,从而提高用户的购买转化率、活跃度和社交体验。 未来,协同过滤算法的发展方向可能是结合其他推荐算法形成混合推荐系统,以充分发挥各算法的优势。
资源推荐
资源详情
资源评论
收起资源包目录
numpy实现基于k近邻模型的协同过滤推荐算法.zip (1个子文件)
content
README.md 3KB
共 1 条
- 1
资源评论
生瓜蛋子
- 粉丝: 3910
- 资源: 7441
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功