天池新人实战赛——阿里移动推荐算法大赛(离线赛与平台赛)

天池大赛:移动推荐算法实战与经验分享
本文介绍了阿里移动推荐算法大赛,重点在离线赛与平台赛的差异,强调数据量的不同。讨论了如何利用用户行为数据构建商品推荐模型,探讨了在大规模数据处理时面临的挑战,如SQL限制和资源消耗。通过学习和应用GBDT,最终在比赛中取得了良好成绩。

 

竞赛题目 (离线赛与平台赛题目一样,只是数据量不一样,离线2000w+数据,平台11亿+数据)

在真实的业务场景下,我们往往需要对所有商品的一个子集构建个性化推荐模型。在完成这件任务的过程中,我们不仅需要利用用户在这个商品子集上的行为数据,往往还需要利用更丰富的用户行为数据。定义如下的符号:
U——用户集合
I——商品全集
P——商品子集,P ⊆ I
D——用户对商品全集的行为数据集合

商品子集都是偏服务类的商品,涵盖阿里巴巴集团十个主要的商品大类,例如汽车售后服务、摄影服务、餐饮、电影等,其特色是线上购买、线下服务。
那么我们的目标是利用D来构造U中用户对P中商品的推荐模型。

数据说明
本场比赛提供20000用户的完整行为数据以及百万级的商品信息。竞赛数据包含两个部分。

第一部分是用户在商品全集上的移动端行为数据(D),表名为tianchi_fresh_comp_train_user_2w,包含如下字段:

 字段

字段说明

提取说明

 user_id

 用户标识

 抽样&字段脱敏

 item_id

 商品标识

 字段脱敏

 behavior_type 

 用户对商品的行为类型

 包括浏览、收藏、加购物车、购买,对应取值分别是1、2、3、4。

 user_geohash

 用户位置的空间标识,可以为空

 由经纬度通过保密的算法生成

item_category

商品分类标识

字段脱敏

time

行为时间

精确到小时级别

 

第二个部分是商品子集(P),表名为tianchi_fresh_comp_train_item_2w,包含如下字段: 

 字段

字段说明

提取说明

 item_id

 商品标识

 抽样&字段脱敏

 item_ geohash

 商品位置的空间标识,可以为空

 由经纬度通过保密的算法生成

 item_category 

 商品分类标识

 字段脱敏

训练数据包含了抽样出来的一定量用户在一个月时间(11.18~12.18)之内的移动端行为数据(D),评分数据是这些用户在这个一个月之后的一天(12.19)对商品子集(P)的购买数据。参赛者要使用训练数据建立推荐模型,并输出用户在接下来一天对商品子集购买行为的预测结果。

有了新想法我先在离线赛上实验,成绩有提升我才去平台赛,后来就以平台赛为主了。

不过也遇到一些问题,在hive里运行一点问题没有的SQL语句,到了ODPS里就不能用,有很多限制,毕竟数据量大了好几个数量级,处理起来很费资源,不能那么随意的写SQL了。

 

刚开始没理解题意,我还纳闷为啥给两张表

 

U——用户集合
I——商品全集
P——商品子集,P ⊆ I
D——用户对商品全集的行为数据集合


我们的目标是利用D来构造U中用户对P中商品的推荐模型

让我们预测的是用户会购买商品子集里的哪些商品,不是所有的商品

刚开始没理解题意,提交的结果F1值极低,去掉非P中商品之后,F1值咔咔的上去了

 

 

平台赛

快进前50了!

借鉴了李强大神团队的PPT,用了GBDT迭代决策树

--odps sql 
--********************************************************************--
--author:断线纸鸢自由
--create time:2016-04-12 15:12:09
--********************************************************************
describe tianchi_data.tianchi_fresh_comp_train_user_online;

Create table tianchi_fresh_comp_train_item as
select * from tianchi_data.tianchi_fresh_comp_train_item_online;
Create table tianchi_fresh_comp_train_user as
select * from tianchi_data.tianchi_fresh_comp_train_user_online;

。。。。。。

最终成绩是8/3602

离线赛

 

day3.hql

 

create external table tianchi_fresh_comp_train_item(item_id string,item_geohash string,item_category string)
row format delimited fields terminated by ','
location '/tianchilxitem';
create external table tianchi_fresh_comp_train_user(user_id string,item_id string,behavior_type bigint,user_geohash string,item_category string,time string)
row format delimited fields terminated by ','
location '/tianchilx';

 

hive> source /home/guo/day3.hql;

 

PS:

Hive几种导出数据方式

准确率(Accuracy),精确率(Precision),召回率(Recall)和F1-Measure

 

 

 

 

 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光于前裕于后

您的打赏将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值