关于随机推荐的思路

http://www.zhihu.com/question/20151242

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:曹力
链接:http://www.zhihu.com/question/20151242/answer/14140759
来源:知乎

因为你用了rand(),遍历每条记录都要运算一次rand(),当然慢了

我以前翻译过一篇国外mysql牛人写的关于随机排序的文章,仅供参考

http://shiningray.cn/order-by-rand.html

主要的思路是,如果id是连续分布,那直接根据max(id)进行获得随机id,然后直接取出

如果id不连续,存在空挡,那么可以总是选择比随机出的id大(或小)的记录

如果id不连续,且必须尽可能平均地获取记录,那么需要额外做一个表,将不连续的id映射成连续id,然后进行随机

时间: 2024-08-26 12:39:22

关于随机推荐的思路的相关文章

ASP.NET之AdRotator实现淘宝浏览页面的商品随机推荐

现在随便上个网都可以看到淘宝.京东等各大电商平台的双十一购物狂欢宣传,从2009年开始淘宝愣是把11.11这一天打造成了全民购物狂欢节.阿里巴巴的上市更是激发了阿里人的斗志,据说他们今年的目标是1000亿.都说一个成功男人的背后必有一个女人,马云的成功是背后成千上万的女人呀-- 言归正传我们谈点专业的知识.我们每个人都在淘宝上买过东西吧,一般我们都是先搜索自己想要买的东西,比如:上衣.牛仔裤.帽子--然后淘宝给出我们搜索结果.如果有更加明确的购物目标我们会勾选按照人气.销量.信用.价格等筛选,然

【天池竞赛系列】阿里移动推荐算法思路解析

赛题地址:http://tianchi.aliyun.com/competition/information.htm?raceId=1 登录就可以下载数据 从4月到7月,学习了非常多也收获了非常多 题目就不多说了.一句话表达就是依据过去一个月的行为预測14年12月19号的购买情况. 看题目貌似推荐算法.自然就有队伍想到用协同过滤什么的.当然效果不好. 首先是特征的问题,然后是这是基于行为的相似,不太类似用户和商品类似的ItemCF.UserCF,还有非常多其它的原因.比方我买过一部手机,难道还要

机器学习算法原理解析——协同过滤推荐

1. CF协同过滤推荐算法原理及应用 1.1 概述 什么是协同过滤(Collaborative Filtering,简称CF)? 首先想一个简单的问题,如果你现在想看个电影,但你不知道具体看哪部,你会怎么做? 大部分的人会问问周围id朋友,看看最近有什么好看的电影推荐,而我们一般更倾向于从口味比较类似的朋友那里得到推荐.这就是协同过滤的核心思想. 协同过滤算法又分为基于用户的协同过滤算法和基于物品的协同过滤算法. 1.2 案例需求 如下数据是各用户对各文档的偏好: 用户/文档 文档A 文档B 文

time模块、random随机模块、os模块、进度条打印

一.时间模块 1.time模块 在python中时间可分为三种格式: 1.时间戳:从1970年到现在经过的秒数 print(time.time()) #1585571976.0806346 作用:用于计算时间间隔的计算 start = time.time() time.sleep(3) stop = time.time() print(stop - start) #3.0001108646392822 时间间隔为3秒 2.按照某种个格式显示的时间: 作用:用于比较清楚的展示时间( 以指定格式输入

一个简单的基于内容的推荐算法

最近闲下来又开始继续折腾推荐系统了,声明一下,本文只是介绍一下最基础的基于内容的推荐系统(Content-based recommender system)的工作原理,其实基于内容的推荐系统也分三六九等Orz,这里只是简单的较少一下最原始的.最基本的工作流程. 基于内容的推荐算法思路很简单,它的原理大概分为3步: 1.为每个物品(Item)构建一个物品的属性资料(Item Profile) 2.为每个用户(User)构建一个用户的喜好资料(User Profile) 3.计算用户喜好资料与物品属

基于内容的推荐(第二周)

说明:文章为初学者看推荐系统(蒋凡),结合网上资料做的笔记,不保证其正确性.欢迎指正^_ 1.  继续记录下svd的一个例子(参考http://blog.sina.com.cn/s/blog_7c76633901019oi8.html,http://blog.csdn.net/abcjennifer/article/details/8131087): 1)  看下图,表示9篇文章中,book,dads--value等词语的出现次数: 2)  可以使用相应的软件(例如matlab)进行svd分解,

查询反模式 - 随机选择

一.问题提出 随机数在数据库中是经常用到的系统. 例如,一个广告系统希望随机选择一个广告来显示.随机推荐相关文章等等. 在SQL Server中查找随机数最简单的方法为: SELECT TOP 1 * FROM Person ORDER BY NEWID() 以上SQL语句的执行计划如下: 以上这种方法,需要对整个表进行一次排序,而且还无法有效地使用索引.加入我们只需要前几条数据,那么好不容易对整个结果集完成了排序,但绝大多数都浪费了. 以上的方式缺点如下: 随着数据量的增加,随机数的产生会变慢

使用文本挖掘实现站点个性化推荐

作者:韦玮,重庆韬翔网络科技有限公司(上海)董事长兼总经理,IT作家,CSDN社区专家. 本文为韦玮原创文章,未经允许不得转载,点此查看作者有关<Python数据分析与挖掘经典案例实战>经验分享. 技术背景 一条信息是否能够让用户感兴趣,主要取决于这条信息的内容是否是用户关注的内容.而将用户感兴趣的信息推送给对应的用户,可以更好地发挥该信息的价值,否则,不仅对应信息的价值无法有效发挥,甚至会引起用户的情绪,因为如果用户对这条信息不感兴趣,那么这条信息对于该用户来说就相当于垃圾信息. 现在关键的

javascript如何设置DIV背景色为随机色

随机色有两种格式: 效果预览:http://wjf444128852.github.io/DEMOLIST/JS/test/index.html 1.rgb(xxx,xxx,xxx) 2.#xxxxxx 下面实现两种随机的方法 思路: 就是如何让x都是随机的, 1.中的xxx是0-255之间的随机整数,用Math.random()*255取得0-255之间的随机数, 再Math.floor()保留小数点前面的 2.中的x是0123456789abxdef中的随机6个的组合, 这里可以用数组或者字