【好未来】流量预测项目总结

1 背景

1. 1在线分配

场景:

假设今天流量预测一共60w流量,需要分给精品课(100w)、爆品课(80w)、素养课(120w)等等,怎么做流量分配在 供<<需 时

目前做法是:根据加权比例和ctr的乘积

每个供给结点的流量每天都是动态变化的,如何设计一些动态反馈优化整个系统也是非常重要的

目前做法是:没有做

1. 2 流量预测的重要性

实现在线分配的关键就是流量预测,流量预测高了或者低了都会导致收益的减少

2 目标

我们将人群按照标签进行聚类,一共有64种(4*2^4),目标是对于任意一种人群标签,给定日期后,利用模型,可以预测出它在给定日期的流量。

tips:可以看出这是个回归问题

3 开发

3.1 开发环境

语言:python

数据集信息:

(1)日志获取,是按dt分区好的,是全量数据,最终为DMatrix形式

(2)目前训练集是90天,测试集是1天,

(3)特征信息

在这里插入图片描述在这里插入图片描述

使用模型:XGBoost

3.2 特征工程

主要从日期入手

3.3 XGBoost

(1) 模型参数配置

params = {'learning_rate': 0.1,
          'max_depth': 30,  # 构建树的深度,越大越容易过拟合
          # 'num_boost_round': 2000,
          # 'objective': 'reg:squarederror',  # 线性回归问题
          'objective': 'reg:linear',  # 线性回归问题,早期版本的参与,将被reg:squarederror替换
          'random_state': 7,
          'gamma': 0,
          'subsample': 0.8,
          'colsample_bytree': 0.8,
          'reg_alpha': 0.005,
          'n_estimators': 1000,
          'silent': 1,
          'eval_metric': ['rmse', 'mae'],  # 分类有“auc”
          'eta': 0.3
          }

(2)评价指标

前期用RMSE用来作为损失函数训练,R^2用来作为评价指标

后期发现用R^2作为评价指标不太合适,原因是数据分布方差太大,这是由于周末和平时的流量差异太大导致的,最后换成了MAPE

(3)结果,最终测试的结果MAPE为0.05左右

4. 曾经存在的问题

1.预测的天数越长,预测效果越差。

解决方法:

1.模型过拟合严重,调整参数,增加数的数量,减小树的最大深度。

2.把前一天的预测结果作为测试数据加入到训练样本中。

3.新增特征:未来一周,上课人数

5. 思考过的迭代优化过程

1.拉长周期,引入季节性节假日特征

2.去掉人数少的标签

3.引入调休的特征,手动标注

4.引入当天排课数量特征

5.研究预测的准的人群的特点

6.增加特征洞察老用户之间的差距

7.对异常日期的数据进行差分打平

8.统计有课的人占比,新用户占比

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

InceptionZ

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值