DIN数据处理与理解
hi各位大佬好,我是小明哥,节后及年前的工作是排序,从此以后的重点也是排序。召回排序,只做其一被人看轻,所以都要会,然后全面深入。
For Recommendation in Deep learning QQ Group 277356808
For deep learning QQ Second Group 629530787
I'm here waiting for you
不接受这个网页的私聊/私信!!!
欢迎关注微信视频号、快手:小明哥直播间
1-训练数据的构成
点击序列依旧是关键词,到哪都是如此,原代码如下,本大佬要改成sequence_mask的形式,参考旧版本YouTube的做法。
ts = self.data[self.i * self.batch_size : min((self.i+1) * self.batch_size,len(self.data))]self.i += 1u, i, y, sl = [], [], [], []for t in ts:u.append(t[0])i.append(t[2])y.append(t[3])sl.append(len(t[1]))max_sl = max(sl)hist_i = np.zeros([len(ts), max_sl], np.int64)k = 0for t in ts:for l in range(len(t[1])):hist_i[k][l] = t[1][l]k += 1return self.i, (u, i, y, hist_i, sl)
代码中明显是有补零的,i是下一个点击,y是label,如果下一个点击正确(真实点击或者正样本)那么y是1,如果下一个“点击”(未点击或者是负样本),那么y是0.
实验例子如下:
>>> hist_i
array([[ 3737, 19450, 0, 0],[ 3647, 4342, 6855, 3805],[ 1805, 4309, 0, 0],[18209, 20753, 0, 0],[13150, 0, 0, 0]])
在数据分发中,必须保证max_sl是一致的,必须是一个确定的数,不能变化。暂定为50,后面可以试验进行修改,查看效果。
2-测试数据是啥子?
从原代码中DateInputTest可以看到数据构成如下:将上面的y换成了j
i.append(t[2][0])j.append(t[2][1])
数据格式如下:
>>> test_set[0]
(91788, [16942, 42346, 38112, 36550, 45547, 31289, 48828, 38115, 51873, 25727, 32576, 34688, 49156, 40120, 56219, 54422], (57905, 11716))
>>> test_set[1]
(133148, [23836, 39599, 46106, 41622], (57608, 49499))
本来想看下后面两个item是啥玩意,然而在train_set并没有出现,如下:我查了很多用户的
>>> for seq in train_set:
... if seq[0]==133148:
... print(seq)
...
(133148, [23836, 39599], 41509, 0)
(133148, [23836, 39599], 46106, 1)
(133148, [23836], 39599, 1)
(133148, [23836, 39599, 46106], 41622, 1)
(133148, [23836, 39599, 46106], 39898, 0)
(133148, [23836], 13240, 0)
>>> for seq in test_set:
... if seq[0]==133148:
... print(seq)
...
(133148, [23836, 39599, 46106, 41622], (57608, 49499))
测试集难道是测试未点击过的item???第二个item是负样本,而且整个过程中负样本都是随机选择的,这是排序的一般做法么?对于一个不知道排序套路的还真是有点懵逼,且看我的issue。
本文DIN参考代码。
愿我们终有重逢之时,而你还记得我们曾经讨论的话题。
DIN数据处理与理解相关推荐
- redis单线程理解
redis 单线程的理解 单线程模型 Redis客户端对服务端的每次调用都经历了发送命令,执行命令,返回结果三个过程.其中执行命令阶段,由于Redis是单线程来处理命令的,所有每一条到达服务端的命令不 ...
- 群智大数据:感知、优选与理解
摘要:移动群智感知是一种新的大规模感知模式,它利用随身携带的智能移动终端(智能手机.可穿戴设备等)形成大规模.随时随地且与人们日常生活密切相关的感知系统.通过广大用户参与获取的感知数据具有多模态.富内 ...
- 泰坦尼克号数据集_机器学习(入门)--Kaggle项目之泰坦尼克号
电影<泰坦尼克号>改编自一个真实故事.1912年4月15日,这艘号称"永不沉没"的泰坦尼克号在首航期间,撞上冰山后沉没,船上的2224名乘客和机组人员,其中只有772人 ...
- 185页深度报告 扒一扒AI金融的老底【附下载】
来源:智东西 概要:2016年,中国爆出8家独角兽,总估值964亿美元位冠全球:2017年,毕马威全球百佳金融科技企业前三甲,蚂蚁金服.众安保险.趣店,皆来自中国:过往两年,中国成立的金融科技创企达1 ...
- 【人工智能】人工智能的发展历程
感谢博主,原文链接:https://blog.csdn.net/ebzxw/article/details/80470053 一. 政策 为推动我国人工智能规模化应用,全面提升产业发展智能化水平,2 ...
- 人工智能升格为国家战略 唐小僧积极发展金融科技
人工智能升格为国家战略 唐小僧积极发展金融科技 国际在线 08-02 11:46 近日,国务院发布人工智能规划,其中提到在智能金融方面,要建立金融大数据系统,提升金融多媒体数据处理与理解能力:创新智能 ...
- Hadoop+GPU强强联手的性能探索
摘要:Hadoop并行处理可以成倍地提高性能,GPU也日益成为计算任务的重要分担者,Altoros Systems研发团队一直致力于探索Hadoop+GPU的可能性,以及在实际的大规模系统中的实现,这 ...
- canal mysql从库_canal中间件|数据增量同步解决方案
上一文中提到延时双删等策略实现数据一致性的时候,可能存在删除缓存失败的情况,就会出现缓存和数据库不一致的问题.为了应对删除缓存失败而导致数据不一致的问题,可以通过回溯数据库日志文件,提供一个保障的重试 ...
- 甲子光年 | 为什么知识图谱终于火了?
本文转载自公众号甲子光年. 如果知识是人类进步的阶梯,知识图谱就是AI进步的阶梯. 作者|金丝猴 编辑|甲小姐 设计|孙佳栋 微信|甲子光年 (ID:jazzyear) "知识图谱" ...
最新文章
- 【经典干货】GitHub标星10万+,史上最强Google面试指南!
- store 存取数据数组对象_ios – 如何在数组中保存自定义对象并将其存储在NSUserDefaults – iPhone中...
- 为什么在Python里推荐使用多进程而不是多线程?(为什么python多线程无法增加CPU使用率?)...
- mysql数据库栏目_MySQL的一些小技巧(持续更新) - mysql数据库栏目
- 最少步数(信息学奥赛一本通-T1330)
- 风控模型及特征的上线部署方法
- Q117:PBRT-V3反射模型(Reflection Models)笔记
- 雷林鹏分享:jQuery Mobile 方向改变事件
- 11月6日云栖精选夜读:阿里云双11访谈之云安全
- Linux 重启命令
- 真的有这么丝滑吗?近日国外一小哥深入研究了KMP算法……
- GJB-150湿热试验,国军标150试验机构
- 领域知识图谱采坑总结
- 微信又更新了,分享几个实用的微信神器
- android sdk 固态硬盘,使用TVM在android中进行Mobilenet SSD部署
- html设置点击变换图标,【css】css实现点击Toggle功能/icon切换
- KeyDown,KeyPress和KeyUp详解
- 云计算机有辐射吗,电脑休眠还有辐射吗
- 小程序的影响到底有多大?
- 一中模拟赛3.15——树上gcd