博客
关于我
天池大赛o2o优惠券第一名代码解读_xgboost方式
阅读量:365 次
发布时间:2019-03-05

本文共 1993 字,大约阅读时间需要 6 分钟。

特征构建部分

代码注释中详细描述了从原始数据中提取的各类特征,涵盖了商家、优惠券、用户、用户-商家以及其他相关特征。以下是具体特征的划分和计算方法:

  • 商家相关特征:

    • sales_use_coupon:用户在该交易中使用了优惠券的标志(布尔值)。
    • total_coupon:用户在该交易中使用的优惠券总数。
    • transfer_rate:用户使用优惠券的比例,计算公式为 sales_use_coupon / total_coupon
    • merchant_avg_distancemerchant_min_distancemerchant_max_distance:使用优惠券的商家距离的平均、最小和最大值。
    • total_sales:用户在该交易中的总销售额。
    • coupon_rate:用户使用优惠券的比例,计算公式为 sales_use_coupon / total_sales
  • 优惠券相关特征:

    • discount_rate:优惠券的折扣率,单位为百分比。
    • discount_man:优惠券的满减金额(仅在非满减优惠券中有效)。
    • discount_jian:优惠券的满减金额(仅在满减优惠券中有效)。
    • is_man_jian:判断优惠券是否为满减优惠券(布尔值)。
    • day_of_weekday_of_month:优惠券接收日期的星期几和月份。
  • 用户相关特征:

    • distance:用户与商家的距离(单位:公里)。
    • user_avg_distanceuser_min_distanceuser_max_distance:用户在不同交易中距离的平均、最小和最大值。
    • buy_use_coupon:用户是否在该交易中使用优惠券(布尔值)。
    • buy_total:用户在该交易中的总购买金额。
    • coupon_received:用户接收的优惠券总数。
    • buy_use_coupon/coupon_received:用户使用优惠券的比例。
  • 用户-商家相关特征:

    • times_user_buy_merchant_before:用户在过去多少次购买了该商家。
  • 其他特征:

    • this_month_user_receive_all_coupon_count:用户本月接收的所有优惠券数量。
    • this_month_user_receive_same_coupon_count:用户本月接收的同一优惠券的次数。
    • this_month_user_receive_same_coupon_lastone:用户本月最后一次接收同一优惠券的时间。
    • this_month_user_receive_same_coupon_firstone:用户本月第一次接收同一优惠券的时间。
    • this_day_user_receive_all_coupon_count:用户当天接收的所有优惠券数量。
    • this_day_user_receive_same_coupon_count:用户当天接收的同一优惠券的次数。
    • day_gap_beforeday_gap_after:用户接收同一优惠券前的和后的天数。
  • XGBoost机器学习部分

    在特征构建完成后,采用XGBoost进行模型训练。以下是模型训练的具体参数设置和结果:

    模型参数:

    • booster:使用GBTree Booster。
    • objective:优化目标为交叉对数损失函数。
    • eval_metric:使用AUC(Area Under Curve)作为评价指标。
    • gamma:学习率。
    • min_child_weight:最小的子树权重。
    • max_depth:树的最大深度。
    • lambda:正则化参数。
    • subsample:随机采样比例。
    • colsample_bytree:列随机采样比例。
    • colsample_bylevel:列分层随机采样比例。
    • eta:学习率。
    • tree_method:树的构建方法。
    • seed:随机种子。
    • nthread:并行线程数。

    模型训练过程:

  • 使用训练集进行模型训练,使用验证集评估模型性能。
  • 设置早停机制,当验证集损失不再下降时停止训练。
  • 模型预测:

  • 使用训练好的模型对测试集进行预测,输出预测结果。
  • 对预测结果进行归一化处理,确保结果在合理范围内。
  • 模型特征重要性:

  • day_gap_before:特征重要性最高,表明该特征对模型预测结果影响最大。
  • day_gap_after:特征重要性次之。
  • coupon_rate:优惠券使用率对模型预测结果也有重要影响。
  • merchant_avg_distance:商家距离特征也对模型表现有显著贡献。
  • 最终预测结果:

  • 将预测结果进行排序,输出优惠券的使用概率。
  • 保存预测结果到文件中,供后续分析使用。
  • 注:本文中所有特征名称和变量计算方法均基于提供的代码注释,具体实现细节请参考原始代码。

    转载地址:http://hbrg.baihongyu.com/

    你可能感兴趣的文章
    软件架构-zookeeper快速入门
    查看>>
    angr学习笔记(7)(malloc地址单元符号化)
    查看>>
    「CF149D」括号涂色 区间DP好题
    查看>>
    树状数组 模板总结
    查看>>
    「NOI2015」程序自动分析 并查集题解
    查看>>
    [JSOI2008]Blue Mary的战役地图 Hash题解
    查看>>
    结构型设计在工作中的一些经验总结
    查看>>
    如何提升员工体验 助力企业业务增长?这个棘手的问题终于被解决了!
    查看>>
    2020 AI 产业图谱启动,勾勒中国 AI 技术与行业生态
    查看>>
    Netty4服务端入门代码示例
    查看>>
    MyBatis自定义类型转换器
    查看>>
    Python:面向对象
    查看>>
    Spring源码:prepareBeanFactory(beanFactory);方法
    查看>>
    AcWing 828. 模拟栈
    查看>>
    (20200328已解决)从docker容器内复制文件到宿主机
    查看>>
    理解Docker ulimit参数
    查看>>
    OpenAI Gym简介及初级实例
    查看>>
    int 转 CString
    查看>>
    Edit编辑框自动换行与长度
    查看>>
    Java面向对象
    查看>>