目录
一、问题描述
在电商平台中,有海量的商品,如何为用户挖掘出感兴趣的商品,真正实现千人千面具有重要的意义。商品得分排名,在电商平台个性化推荐排序具有重要的应用。
用户对商品偏好得分受哪些因素的影响,以及这些因素最终如何共同决定商品得分?本文总结了一个实际电商平台中用户对商品偏好得分的构建过程。
二、数据摸底
为用户偏好品类下的商品进行个性化推荐,初步的分析思路是通过对前三个月份的用户行为数据和商品属性数据的分析,寻找他们与未来7天用户下单商品之间的关系(选择7天数据作为标签,为了积累足够多的正样本;选择下单的商品,因为购买行为更能说明用户对商品的喜好)。
在进行数据摸底后发现,老用户未来7天的订单量150000(大约占71%),偏好分类的商品大约占到29%。对数据摸底后,结合业务逻辑,列出潜在的分析特征,如下:
在上面原始字段的基础上,结合业务逻辑,增添一些重要的衍生变量如下:
商品折扣率(discount),商品现在的卖价除以商品原价。因为折扣大的商品更容易刺激用户的购买欲。
商品转化率(procr),购买该商品的用户数除以查看该商品的用户数。
三、数据清洗和特征筛选
3.1 数据抽取和清洗
抽取和清洗数据的目的主要包括:熟悉数据的分布特征和数据的基本统计指标(count、min、max、mean、stddev、skewness、kurtosis)、发现数据中的缺失值、发现数据中的异常值、发现数据中明显与业务逻辑相矛盾的错误。这样最终可以得到比较干净的数据,从而提高随后分析的准确性和后期模型搭建的效果。
在数据清洗过程中,发现了以下的数据错误:
价格字段有少数样本的观察值是999999,这是商品因为某种原因不在网站上显示时,该商品的价格会被设置为上限,可以直接删除记录。
Procr字段有将近40%+样本的观察值是Na,数据排查后发现,是因为商品的订单量为0,在除法中,分母为零没有意义。将样本中该变量的观察值从Na修改为0。
Onlinetime字段有少数样本的观察值小于0,显然不符合业务逻辑。我们只需要在分析时间段内在线的商品,对于在该时间段之后上线的商品不在我们分析范围内,可直接删除。
3.2 特征筛选:决策树
特征筛选具有重要意义,因为过多的输入变量很可能会带来过拟合的问题,这会导致模型的稳定性下降;同时,筛选有效的输入变量也是提高运算速度和运算效率的需要。利用决策树模型,计算特征重要性分数值如下,最终筛选有效的特征:similar_score、orderuv_7d、procr、 basketuv_7d、discount、online_time。
特征 |
重要性 |
累积得分 |
similar_score |
0.5093 |
0.5093 |
orderuv_7d |
0.2885 |
0.7978 |
procr |
0.0 |