Python推荐系统库--Surprise理论
Surprise
Surprise是scikit系列中的一个。Surprise的User Guide有详细的解释和说明
支持多种推荐算法
基于近邻方法(协同过滤)/neighborhood methods
矩阵分解方法/matrix factorization-based (SVD, PMF, SVD++, NMF)
下面介绍几种算法
基础算法:
1. random_pred.NormalPredictor
说明:Algorithm predicting a random rating based on the distribution of the training set, which is assumed to be normal.
意思是:算法基于训练集的分布预测随机等级,假设该分布为正态分布
说明:Algorithm predicting the baseline estimate for given user and item.
意思是:算法预测给定用户和项目的基线估计
协同过滤算法:
说明:A basic collaborative filtering algorithm.
意思是:一种基本的协同过滤算法
说明:A basic collaborative filtering algorithm, taking into account the mean ratings of each user.
意思是:一个基本的协同过滤算法,考虑到每个用户的平均评分
说明:A basic collaborative filtering algorithm taking into account a baseline rating.
意思是:一种基本的协同过滤算法考虑到基准评分
矩阵分解方法:
说明:The famous SVD algorithm, as popularized by Simon Funk during the Netflix Prize.
意思是:著名的SVD算法
说明:The SVD++ algorithm, an extension of SVD taking into account implicit ratings.
意思是:SVD++算法,SVD的一个扩展,考虑到隐式评级
说明:A collaborative filtering algorithm based on Non-negative Matrix Factorization.
意思是:一种基于非负矩阵的协同过滤算法
说明:A simple yet accurate collaborative filtering algorithm.
意思是:一种简单而准确的协同过滤算法
10. co_clustering.CoClustering
说明:A collaborative filtering algorithm based on co-clustering.
意思是:一种基于共聚类的系统过滤算法
其中基于近邻的方法(协同过滤)可以设定不同的度量准则
相似度度量标准
1. cosine
说明:Compute the cosine similarity between all pairs of users (or items).
意思是:计算所有用户对(或物品)之间的相似度
2. msd
说明:Compute the Mean Squared Difference similarity between all pairs of users (or items).
意思是:计算所有用户对(或物品)之间的平均平方差相似度
3. pearson
说明:Compute the Pearson correlation coefficient between all pairs of users (or items).
意思是:计算所有用户对(或物品)之间的皮尔逊相关系数
说明:Compute the (shrunk) Pearson correlation coefficient between all pairs of users (or items) using baselines for centering instead of means.
意思是:计算所有用户对(或物品)之间的皮尔逊相关系数(收缩),使用基线进行居中,而不是使用平均值
支持不同的评估准则
评估准则
1. rmse 最小均方根误差
2. mae 平均绝对误差
3. fcp 协调对的分数
参考文章:https://blog.csdn.net/mycafe_/article/details/79146764
Python推荐系统库--Surprise理论的更多相关文章
- Python推荐系统库Surprise
Surprise(Simple Python Recommendation System Engine)是一款推荐系统库,是scikit系列中的一个.简单易用,同时支持多种推荐算法.基础算法.协同过滤 ...
- Python推荐系统库--Surprise实战
一.使用movieLens数据集 from surprise import KNNBasic, SVD from surprise import Dataset from surprise impor ...
- python推荐系统库
Python推荐系统库——Surprise 在Python中实现你自己的推荐系统 python-recsys:一款实现推荐系统的python库
- python推荐淘宝物美价廉商品
完成的目标: 输入搜索的商品 以及 淘宝的已评价数目.店铺的商品描述(包括如实描述.服务态度.快递的5.0打分): 按要求,晒选出要求数量的结果,并按"物美价廉算法"排序后输出 思 ...
- python推荐淘宝物美价廉商品 2.0
改动: 新增功能 :可选择只看天猫或淘宝 代码模块化封装,参数配置或输入单独在一个py文件管理,主函数功能只留出参数传入在setting配置的py文件里. main.py代码: # -*- codin ...
- Python推荐算法学习1
1.闵可夫斯基距离 闵可夫斯基距离可以概括曼哈顿距离与欧几里得距离. 其中r越大,单个维度差值大小会对整体产生更大的影响.这个很好理解,假设当r=2时一个正方形对角线长度,永远是r=3时正方体对角线 ...
- python推荐书籍
推荐的python电子书 python学习路线图 优先级 入门:python核心编程 提高:python cookbook 其他 (1).数据分析师 需要有深厚的数理统计基础,但是对程序开发能力不做要 ...
- python 推荐算法
每个人都会有这样的经历:当你在电商网站购物时,你会看到天猫给你弹出的“和你买了同样物品的人还买了XXX”的信息:当你在SNS社交网站闲逛时,也会看到弹出的“你可能认识XXX“的信息:你在微博添加关注人 ...
- python并发编程-进程理论-进程方法-守护进程-互斥锁-01
操作系统发展史(主要的几个阶段) 初始系统 1946年第一台计算机诞生,采用手工操作的方式(用穿孔卡片操作) 同一个房间同一时刻只能运行一个程序,效率极低(操作一两个小时,CPU一两秒可能就运算完了) ...
随机推荐
- C# 并行循环
Parallel.For(); Paralle.ForEach() 异步编程模式
- AbstractQueuedSynchronizer的简单介绍
AbstractQueuedSynchronizer简称为AQS.大多数开发者不会直接使用AQS,标准同步器类的集合能够满足绝大多数情况的需求. 1.AbstractQueuedSynchronize ...
- python3+requests库框架设计08-发送邮件
使用python3的email模块和smtplib模块可以实现发送邮件的动能.email模块用来生成email,smtplib模块用来发送邮件,接下来看如何在生成测试报告之后,并将报告放在邮件附件中并 ...
- struts2框架之国际化(参考第二天学习笔记)
国际化 1. 回忆之前的国际化 1). 资源包(key=字符串) > 命名:基本名称+local部分.properties,res_zh.properties,res_zh_CN.propert ...
- MySQL的information_schema
在一次清空一张比较大的表时(在清空前占用400多兆),发现该表中记录为0条但是空间并没有被释放,采用下面方式可查看占用情况 -- 查询各个数据库占用磁盘的情况 ,),' MB') as data_si ...
- 使用AutoFac实现依赖注入
1.基本使用 1.1新建MVC项目并安装Autofac 注意需要安装AutoFac和AutoFac.mvc5 Install-Package Autofac Install-Package Autof ...
- ifconfig和ping
命令: ifconfig 对应英文: configure a network interface 作用: 查看 / 配置计算机当前的网卡配置信息 安装: sudo apt install net-to ...
- Stetho简化Android调试(一)
在开发 Android 应用的时候,有时候我们需要查看数据库.SharePreference等.通常的做法是把相关文件pull出来,而前提必须是手机得root.如果没有root,那就只能通过打印或其它 ...
- 洛谷P4546 [THUWC2017]在美妙的数学王国中畅游 [LCT,泰勒展开]
传送门 毒瘤出题人卡精度-- 思路 看到森林里加边删边,容易想到LCT. 然而LCT上似乎很难实现往一条链里代一个数进去求和,怎么办呢? 善良的出题人在下方给了提示:把奇怪的函数泰勒展开搞成多项式,就 ...
- iOS 上线过程中出现的问题总结
1: 因为使用后台播放音乐,在 info 里面添加 required background modes 的 key, 如果你的代码里面没有后套播放音频的功能, 不要添加 required back ...