Datawhale AI夏令营-机器学习-task2.2-优化思路探索

 
优化思路的内容看datawhale夏令营的材料即可:https://www.datawhale.cn/activity/323/learn/189/4313
我们是基于上一篇优化思路做的尝试的记录
https://www.cnblogs.com/cosmowind/p/18989426
 
本文档记录了用户新增预测挑战赛中,基于 Datawhale 优化思路的阶段性特征工程与算法优化实践。通过对 baseline 的逐步改进,显著提升了模型的预测能力和 F1 分数。
 

 

一、优化背景与目标

 
在 baseline 基础上,我们聚焦于特征工程和编码方式的创新,旨在充分挖掘用户行为数据的潜在信息,提升模型泛化能力。优化分为多个阶段,每一阶段都针对数据的不同层面进行深入挖掘。
 

 

二、Stage1:基础特征工程

 

1.1 主要优化点

- udmap 字段解析
  • 原 baseline 仅将 udmap 作为整体类别处理,未利用其内部结构。
  • 本阶段解析 udmap 字段,提取 botId、pluginId 两个关键子字段,作为新的类别特征。
- 用户聚合特征
  • 以 did 为主键,统计用户的行为次数(eid_count)、行为多样性(eid_nunique)、活跃时间跨度(common_ts_ptp)、地理足迹(common_city_nunique)等。
  • 这些特征刻画了用户的活跃度、行为广度和时空分布,为模型提供了更丰富的用户画像。

1.2 算法功能与效果

- 类别特征编码:对所有类别特征(含新提取的 botId、pluginId)统一进行 LabelEncoder 编码,保证训练集和测试集编码一致。
- 模型训练:采用 LightGBM,配合 5 折分层交叉验证,提升模型稳定性。
- 阈值优化:针对 F1-score,自动搜索最优概率阈值。
 

1.3 分数提升

  • baseline F1: 0.63623
  • stage1 F1: 0.77197
通过基础特征工程,模型对用户新增的识别能力大幅提升,验证了结构化信息挖掘的重要性。
 

 

三、Stage2:高级特征工程

 

2.1 主要优化点

- 目标编码(Target Encoding)
  • 针对 device_brand、common_province、os_type、channel 等类别特征,采用交叉验证目标编码,将类别与目标变量的统计关系直接引入特征空间。
  • 有效缓解高基数类别的稀疏性问题,提升模型对类别变量的表达能力。
- TF-IDF 序列特征
  • 将用户的 eid、mid 行为序列视为文本,利用 TF-IDF 提取用户行为关键词,捕捉行为模式的隐含信息。
  • 这种方法能有效反映用户行为的多样性和偏好。
- 高级时间特征
  • 构建 recency(距离最近一次行为的时间差)等时间敏感特征,进一步刻画用户活跃度和生命周期。

2.2 算法功能与效果

- 特征融合:将目标编码、TF-IDF、时间特征与原有特征融合,极大丰富了模型输入的信息维度。
- 模型训练与验证:继续采用 LightGBM + 5 折交叉验证,保证实验的可比性和稳定性。
- 自动阈值优化:保持对 F1-score 的最优阈值搜索。
 

2.3 分数提升

  • stage1 F1: 0.77197
  • stage2 F1: 0.80681
高级特征工程进一步释放了数据的潜力,模型对复杂行为和类别关系的捕捉能力显著增强。
 

 

四、阶段性总结与启示

 
- 特征工程是提升模型效果的核心驱动力。
- 结构化信息(如聚合特征、目标编码)与非结构化信息(如序列TF-IDF)结合,能极大提升模型的泛化能力。
- 每一次特征创新,都是对业务理解和数据洞察的深化。
 
未来可继续探索模型融合、时序验证等更高阶策略,进一步冲击更高分数。
 
posted @ 2025-07-17 15:01  windiest  阅读(35)  评论(0)    收藏  举报