首页 > 试题广场 >

某电商网站现在需要预测用户未来一周内购买哪些商品,请问:

[问答题]

某电商网站现在需要预测用户未来一周内购买哪些商品,请问:

1)可以使用哪些评价指标(至少写出两个)?

2)你会使用或构造哪些特征 (至少写出五个)?

3) 现可供使用的模型有Logistic模型 和 GBDT(Gradient Boosting Decison Tree)模型,请简述这两个模型的原理,并比较这两个模型的特点。

4) 训练模型后在线下的离线评价效果很好,但上线使用后发现效果极差,请分析可能的原因及解决方案。

1) 可以使用的评价指标:F1值,AUC值
2) 构造三大类特征:User features,Item features, Cross features。
  • user features:用户历史交易中的ctr转化率;用户的点击购买时差;用户在网站上的浏览习惯等。
  • item features:商品在历史交易中的ctr转化率;商品的点击热度;商品的点击购买时差;商品在所属种类中的热度排名等。
  • cross features:用户对商品的浏览、购买等行为的计数统计;用户对商品的点击热度、购买热度排序;用户对商品种类的热度排序;用户之间相似度;相似度大的用户之间的商品购买统计等。
3) Logistic模型是假设数据服从伯努利分布,采用极大似然估计法求参,然后用梯度下降的方法对参数进行优化,最后用求概率的方式对样本实现二分类。GBDT模型是对多棵决策树采用提升的思想,即每次迭代都是拟合上一棵树残差的近似值,实现分类或回归预测。
  • Logistic是线性分类模型,GBDT是非线性的model。
  • Logistic采用的是sigmoid损失函数,GBDT的回归用MSE,分类用对数或者指数损失。
  • Logistic对所有样本一视同仁,GBDT每一轮迭代都更加关注分错的样本。
4) 可能原因是模型的泛化能力差,即模型发生了过拟合,解决方案:
  • 增加线下的样本规模;
  • 减少线下提取的特征数目;
  • 增加正则化项;

编辑于 2018-08-11 19:00:17 回复(2)
1) 商品类型、用户浏览商品的浏览率
2) 用户点击某个点击率、停留在某种商品的浏览时间、商品类型、用户购买的商品数量、用户购买商品的价格区间
3)逻辑回归是一种分类模型,损失函数是交叉熵,属于判别模型,基于最大熵的准则对交叉熵进行最小化;GBDT模型是先用一个初始值学习一棵树,然后在叶子节点处得到预测值和残差,之后的树基于前面的残差不断拟合得到一棵树。
特点:逻辑回归是基于最大熵准则,loss函数是交叉熵,对数据的噪音具有高斯假设,适合大的数据集、特征比较稀疏的场景,但是准确率不是特别高;GBDT模型采用的 CART 树模型作为基分类器进行负梯度拟合,其是一种对特征样本空间进行划分的策略,适合应用于特征比较稠密的特征的数据集。
4)可能的原因:
① 可能线上数据集存在过多的噪音数据,训练模型的泛化能力不够好。解决方案:可以继续采样,将训练数据集中添加部分的噪音数据,重新训练,以提高模型的泛化能力;
② 数据集本身正负样本不平衡。解决方案:调整正负样本的比例,或者对于数据量少的正样本(负样本)进行过采样或者进行数据增强,丰富数据集,或者将原始的损失函数替换成focal loss。
发表于 2020-04-10 11:43:19 回复(0)