项目进展报告
数据获取及预处理
- 采用了阿里云天池比赛提供的数据集,包括了20000用户的完整行为数据以及百万级的商品信息,数据包含两个部分。 第一部分是用户在商品全集上的移动端行为数据(D),第二个部分是商品子集(P)。
len is 23291027
user_id int64
item_id int64
behavior_type int64
user_geohash object
item_category int64
time object
dtype: object
user_id item_id behavior_type item_category
count 2.329103e+07 2.329103e+07 2.329103e+07 2.329103e+07
mean 7.006868e+07 2.023214e+08 1.106268e+00 6.835397e+03
std 4.569072e+07 1.167440e+08 4.599087e-01 3.812873e+03
min 4.920000e+02 3.700000e+01 1.000000e+00 2.000000e+00
25% 3.019541e+07 1.014417e+08 1.000000e+00 3.690000e+03
50% 5.626942e+07 2.022430e+08 1.000000e+00 6.054000e+03
75% 1.166482e+08 3.035325e+08 1.000000e+00 1.027100e+04
max 1.424430e+08 4.045625e+08 4.000000e+00 1.408000e+04
missing count of geohash: 15911010
missing count of time: 0
len is 620918
item_id int64
item_geohash object
item_category int64
dtype: object
item_id item_category
count 6.209180e+05 620918.000000
mean 2.004351e+08 6970.213167
std 1.191648e+08 3479.627372
min 9.580000e+02 2.000000
25% 9.357641e+07 4245.000000
50% 2.053761e+08 6890.000000
75% 3.054015e+08 10120.000000
max 4.045624e+08 14071.000000
missing count of geohash: 417508
其中缺失较多的是记录了位置的geohash,但考虑到地点标记可能有用,不剔除这些数据。
- 对数据中的的购买做统计分析
如图,在12.11和12.12操作次数远高于平常日,其中属于商品子集P的操作次数中,12.12的值也非常高,因此将这两天的数据剔除。
数据分析与可视化
上面两张图可以反映除了双12期间的操作记录猛增,购买总体都是比较稳定的。为了挖掘不同操作的具体反映,选取了12.17和12.18两日48小时的操作进行呈现。
0-3分别对应浏览、收藏、加购物车、购买。浏览的操作次数要远远多于其他,这符合常理,同时也反映出一些符合实际的规律,比如操作的高峰在较为空闲的晚上,凌晨的时候操作次数最少。
单独看购买的操作,10:00-15:00和20:00-22:00是两个操作高峰时段。
上图是选取了部分的用户展示,CTR是购买转换率:浏览/购买。可以看到用户10001082的CTR为0.019,且没有收藏和加购物车的行为,说明该用户行为决断。用户108461135操作次数非常多,但购买率不怎么高。
模型选取
1.分为两个思路,进行比较。第一个思路是按照规则筛选数据,根据12.18的数据对12.19的购买情况进行预测,如果12.18加入购物车当天没有购买,判断12.19其会购买该商品。初步F1值为7%左右,效果不理想。
2.第二个思路是构建特征,放入xgboost构造决策树,最后输出<用户-商品>对的购买判断。理想的特征分为三部分:用户特征、商品特征和用户-商品特征。目前只完成了部分特征的提取,没有完全构建好训练集和测试集。用户特征包含:用户活跃天数,用户操作统计(浏览、收藏、购买多少次),用户活跃的时间段。商品特征包含:商品的操作统计(被浏览、收藏、购买多少次)。用户-商品特征:该对出现的次数。用户-商品>
3.数据打标签,某一天作为验证或测试集,当天根据用户操作进行打标<用户-商品-种类-标签>,1为购买,0为未购买。用户-商品-种类-标签>
4.数据负采样,根据打标签划分之前的数据,分为已购买的对和未购买的对,比例为1:0.9。
挖掘实验的结果
完成了数据可视化,进行了数据清洗。可以见用户操作的次数整理,集中在12.11和12.12的数据特别多,因此后续训练先去除这两天的数据,以免影响模型。大多数购买发生在10点和21点,浏览白天持平晚上剧增,这可以作为一个规则加入筛选,比如当天加入购物车的时间为晚上到凌晨的,第二天购买的可能性会增加。
存在的问题
特征选取有一定难度,需要多想规则,或者用神经网络提取特征。
下一步工作
完善特征信息,将特征合为一个特征表,构建提升树模型。