IMDB.COM排名算法(贝叶斯公式)和Reddit评论排行算法
博客迁移:时空蚂蚁http://cui.zhbor.com/
因为最近做万维品牌口碑的项目,需要对口碑进行一个对比,现在库中也有一部分的数据了,有很多的品牌评分居然是一样的,这是库中的真实的数据,如果我简单的按平均分进行评比,也行不太公平,因为有很多评论人数很多,但有的很少。
所以我就研究了一些算法。
刚开始引用了IMDB.COM排名算法,他主要是对top250进行排名,对评分的人数有一定的限制,而我们品牌库中总不能不让相应的品牌露出。所以针对品牌库中排行使用贝叶斯公式的算法是不合适的,没有意义,因为他针对的是超过某些评论后的数据的排行,对于那些评论数没有超过最低的有效评分人数时是没有露出机会的,贝叶斯还有一个缺点:主要问题是它假设用户的投票是正态分布。比如,电影A有 10 个观众评分,5个为五星,5个为一星;电影B也有 10 个观众评分,都给了三星。这两部电影的平均得分(无论是算术平均,还是贝叶斯平均)都是三星,但是电影A可能比电影B更值得看。
这里跟大家分享一下IMDB.COM排名算法公式:
WR = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C
具体意思:
R = 单部电影的平均得分
v = 单部电影的有效评分人数(for this top 250, only votes from regular voters are considered.)防止粉丝拉票
m = 入选top250榜单所需最低的有效评分人数
C = 所有影片的平均分
-------------------------------
IMDB.COM排名算法不可用,于是我转战reddit评论排名算法:他这里设计到一个威尔逊置信区间,可以根据置信区间的宽窄计算出更加人性化的排行榜。具体计算方法是:
- 计算每个评论的”好评率”
- 计算每个”好评率”的置信区间(以 95% 的概率)。
- 根据置信区间的下限值,进行排名。这个值越大,排名就越高。
我自己感觉有些复杂,用PHP写出来如下:
1 function willson($ups=10, $downs=1){ 2 $n = $ups + $downs; //评论总数 3 if($n==0) return 0; 4 $z = 1.0; 5 $phat = (float)$ups/$n; 6 return ($phat+$z*$z/(2*$n)-$z*sqrt(($phat*(1-$phat)+$z*$z/(4*$n))/$n))/(1+$z*$z/$n); 7 }
其中:
$ups 好评数
$downs 差评数
$z 表示对应某个置信水平的z统计量,这是一个常数,可以通过查表得到。一般情况下,在 95% 的置信水平下,z统计量的值为1.96
用这个公式也会有问题,因为品牌评分是按照五个等级评分,而这个公式只有好坏评分,所以我利用置信区间的不同来进行等级排名。最后的结果是非常满意,排名很人性化,能达到自己想要的效果。如果自己用平均值计算排名自己感觉都有点不好意思了。
参考:http://www.biaodianfu.com/imdb-rank.html
参考:http://www.biaodianfu.com/reddit-comment-sorting-algorithms.html
转载于:https://www.cnblogs.com/hongbo819/p/3956824.html
IMDB.COM排名算法(贝叶斯公式)和Reddit评论排行算法相关推荐
- 【数据结构与算法】主宰这个世界的10大算法
00 前言 Reddit有篇帖子介绍了算法对我们现在生活的重要性,以及哪些算法对现代文明所做贡献最大.这个表单并不完整,很多与我们密切相关的算法都没有提到,如机器学习和矩阵乘法,欢迎你继续补充. ...
- 链接挖掘算法之PageRank算法和HITS算法
参考资料:http://blog.csdn.net/hguisu/article/details/7996185 更多数据挖掘算法:https://github.com/linyiqun/DataMi ...
- 【算法】热度排行算法
1 Reddit Reddit的排名算法: 1.文章的发表时间t t = 发表时间 – 2005 年 12 月 8 日7:46:43 在上一篇 Hacker News的文章中,用来标注文章新旧程度的单 ...
- 【白话机器学习】算法理论+实战之K-Means聚类算法
1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Ad ...
- 趣图:老师讲算法 vs 油管三哥讲算法
老师讲算法 vs 油管三哥讲算法 ↓↓↓ 我们微博分享上图后,有童鞋在评论推荐了一张以前发过的趣图: END #接力技术,链接价值#精彩推荐1. 史海峰:万字长文剖析技术人如何成长2. PerfMa& ...
- 数据结构与算法之美笔记——基础篇(下):图、字符串匹配算法(BF 算法和 RK 算法、BM 算法和 KMP 算法 、Trie 树和 AC 自动机)
图 如何存储微博.微信等社交网络中的好友关系?图.实际上,涉及图的算法有很多,也非常复杂,比如图的搜索.最短路径.最小生成树.二分图等等.我们今天聚焦在图存储这一方面,后面会分好几节来依次讲解图相关的 ...
- Atitit 算法之道 attilax著 1. 编码算法 3 1.1. Base64 htmlencode urlencode 3 2. Ui方面的算法 3 2.1. 软键盘算法 计算软键盘上下
Atitit 算法之道 attilax著 1. 编码算法 3 1.1. Base64 htmlencode urlencode 3 2. Ui方面的算法 3 2.1. 软键盘算法 计算软键盘上下左 ...
- 隐马尔科夫模型(前向后向算法、鲍姆-韦尔奇算法、维特比算法)
隐马尔科夫模型(前向后向算法.鲍姆-韦尔奇算法.维特比算法) 概率图模型是一类用图来表达变量相关关系的概率模型.它以图为表示工具,最常见的是用一个结点表示一个或一组随机变量,结点之间的变表是变量间的概 ...
- VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法]
VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法] VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法] - tingya的专栏 - 博客频道 - CSDN.NET VI ...
- 【数据挖掘算法分享】机器学习平台——回归算法之随机森林
随机森林回归算法是决策树回归的组合算法,将许多回归决策树组合到一起,以降低过拟合的风险.随机森林可以处理名词型特征,不需要进行特征缩放处理.随机森林并行训练许多决策树模型,对每个决策树的预测结果进行合 ...
最新文章
- 即学即用的 30 段 Python 非常实用的代码
- 【Robot学院】一文读懂世界智能制造大趋势!
- token,session,cookie
- PAT甲级1096 Consecutive Factors :[C++题解]连续的因子、约数
- 你真的很熟分布式和事务吗?
- 珠宝管理系统java,基于jsp的珠宝首饰进销存管理系统-JavaEE实现珠宝首饰进销存管理系统 - java项目源码...
- 网络打印机查找不到_打印机驱动的安装教程
- mysql配置连接远程_MySql配置远程访问
- Node.js入门 - 回调函数
- ldr和adr的区别
- Java实现布隆过滤器(已爬URL过滤)
- 线性代数学习笔记8-1:复数矩阵与共轭转置、Hermite矩阵、酉矩阵、傅里叶矩阵和快速傅里叶变换FFT
- 机器码解除教程,逃离塔科夫机器码解除,彩虹6号机器码解除,dayz机器码解除,腐蚀rust机器码解除
- dummy node
- Annovar软件注释肿瘤基因突变(一):COSMIC数据库最新版下载与使用
- 实时系统vxWorks - 配置多网口
- android 环信集成,Android 环信集成使用总结
- JavaScript基础——第一章,基础
- 如何下载Oracle.ManagedDataAccess.dll
- 一次改变世界的日食:广义相对论预言被证实95周年
热门文章
- 中国生物oa系统服务器地址,每周一库 | 第十八期:中国生物医学文献服务系统(SinoMed) | 四川大学图书馆...
- 移动视频直播点播方案
- Android init.rc介绍及其语法
- 《学会呼吸》书中的精髓:如何通过训练自己的呼吸,逐步改善健康问题?
- Ramp Number
- html设置某一块一直在屏幕上方,gogo体育在线-gogo体育在线
- 北京理工大学软件工程复试之路
- 深入探访支付宝双11十年路,技术凿穿焦虑与想象极限 | CYZONE特写...
- FFTW使用说明及实例调用
- python+ffmpeg视频转码转格式