您的位置:首页 > 其它

来个说走就走的数据旅行(天池大赛)

2015-04-27 18:08 330 查看
竞赛题目 
在真实的业务场景下,我们往往需要对所有商品的一个子集构建个性化推荐模型。在完成这件任务的过程中,我们不仅需要利用用户在这个商品子集上的行为数据,往往还需要利用更丰富的用户行为数据。定义如下的符号:

U——用户集合
I——商品全集

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

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

数据说明
竞赛数据包含两个部分。第一部分是用户在商品全集上的移动端行为数据(D),表名为tianchi_mobile_recommend_train_user,包含如下字段:

 字段
字段说明
提取说明
 user_id
 用户标识
 抽样&字段脱敏
 item_id
 商品标识
 字段脱敏
 behavior_type 
 用户对商品的行为类型
 包括浏览、收藏、加购物车、购买,对应取值分别是1、2、3、4。
 user_geohash
 用户位置的空间标识,可以为空
 由经纬度通过保密的算法生成
item_category
商品分类标识
字段脱敏
time
行为时间
精确到小时级别
 第二个部分是商品子集(P),表名为tianchi_mobile_recommend_train_item,包含如下字段: 

 字段
字段说明
提取说明
 item_id
 商品标识
 抽样&字段脱敏
 item_ geohash
 商品位置的空间标识,可以为空
 由经纬度通过保密的算法生成
 item_category 
 商品分类标识
 字段脱敏
训练数据包含了抽样出来的一定量用户在一个月时间(11.18~12.18)之内的移动端行为数据(D),评分数据是这些用户在这个一个月之后的一天(12.19)对商品子集(P)的购买数据。参赛者要使用训练数据建立推荐模型,并输出用户在接下来一天对商品子集购买行为的预测结果。 

评分数据格式
具体计算公式如下:参赛者完成用户对商品子集的购买预测之后,需要将结果放入指定格式的数据表(非分区表)中,要求结果表名为:tianchi_mobile_recommendation_predict,包含user_id和item_id两列(均为string类型),要求去除重复。例如:

初赛数据
初赛阶段提供10000用户的完整行为数据以及百万级的商品信息;训练和预测的数据将会在4月20日进行一次切换(即切换为另一批10000用户的数据)。

决赛数据
决赛阶段提供500万用户的完整行为数据以及千万级的商品信息。

评估指标
比赛采用经典的精确度(precision)、召回率(recall)和F1值作为评估指标。具体计算公式如下:

其中PredictionSet为算法预测的购买数据集合,ReferenceSet为真实的答案购买数据集合。我们以F1值作为最终的唯一评测标准。

一.特征提取
1、训练样本的生成
1.1当你觉得那个数据可能对购买有影响时,孤立出该数据作为自变量,拿购买行为作为因变量,统计画图分析他们之间的关系,如果因变量受自变量的波动而波动,说明这个数据对购买有影响;
1.2通过分析,已经确认哪些数据可以作为特征,在此,应该对特征进行标准化,对于比例类特征,可以使用拉普拉斯平滑;对特征分布较大,可以考虑映射到一定范围,致使各特征命中相似,从而保证特征的有效性;
1.3可以得出很多数据对结果有影响,那么这些数据就是所谓的特征,但很多数据之间是等价或类似的,也就是说特征的相关性很大;如果把这些分析得出的特征都作为训练样本特征的话,往往导致过拟合;因此有必要对这些特征进行相关性分析,对相关性很高的特征,可以去掉一些,使选择的特征让结果的置信度保证在95%(或其他);也就是所谓的主成分分析PCA或K-L降维;链接提供R语言很好的PCA工具:http://www.cnblogs.com/wentingtu/archive/2012/03/03/2377971.html;
1.4通过PCA或K-L降维,会提取出较好的特征组合,生成样本,拿周期预测的天的购买作为label,这样就生成了训练样本;
2、特征好坏的评判
2.1A/B测,生成的训练样本中,B模型相对A模型多加待评价特征,然后通过A模型和B模型对同样的数据进行预测,得出预测结果,比较A/B模型预测结果,进而评价待评价特征;
2.2 然后根据特征的好坏决定特征的去留,通过AB测的方法,不断的加入有效的特征;

二.模型选择
1.根据样本的分布,选择模型;
2.本比赛中,正负样本满足独立同分布,因此可以选择LR模型;
3.采用的训练算法是FTRL,特征为hash特征,sid标识某一类特征,brandid标识该特征的具体值,通过sid和brandid构建hash特征;预测时,能找到该hash特征,则为1,找不到,则为0,;
三.模型分析
1、模型评价指标:AUC、RUC、准确率、召回率、F1、、、
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息