当前位置: 首页 > news >正文

2025年夏Datawhale AI夏令营机器学习

笔记

一、赛事任务概述

核心信息

  1. 任务类型:二分类任务,判断用户是否为新增用户。
  2. 评价指标:采用F1分数,分数越高模型性能越好。
  3. 知识点提要
    • 解决实际业务问题,优化产品迭代策略。
    • 掌握结构化数据处理全流程,包括特征工程、编码技巧、模型构建与调优。
    • 学习F1-score在二分类不平衡场景的应用。
    • 实践时间特征提取等高级特征工程技巧。
    • 掌握LightGBM模型和交叉验证的最佳实践。

二、赛题分析与技术理解

赛题背景

通过分析讯飞开放平台的用户行为数据,预测用户是否为新增用户。这对优化产品迭代方向、降低用户获取成本等具有重要的行业价值,同时也能验证AI在用户行为分析领域的有效性并建立可复用的方法论。

数据解读

  1. 输入数据:用户行为事件记录,包含15个原始特征字段,关键字段有udmap(JSON格式,内含botIdpluginId)和common_ts(时间戳)。
  2. 输出要求:预测用户是否为新增用户(is_new_did),提交格式为CSV文件,包含一列is_new_did,值为0或1,0表示不是新增用户,1表示是新增用户。
  3. 关键发现
    • 测试集中93%的用户出现在训练集中。
    • 训练集中88%的用户is_new_did为0。
    • 解题思路:标签为1的用户可直接填充标签,不为1的用户进行建模预测。

解题要点和难点

  1. 用户行为事件数据到用户级别预测
  2. 高维稀疏特征,如设备、地域、行为ID等。
  3. 正负样本不均衡,新增用户占比较少。
  4. 用户行为聚合,将事件级数据转化为用户特征。
  5. 时间敏感特征,用户行为模式随时间变化。

解题思考过程

  1. 模型选择:选择树模型(如LightGBM)而非神经网络,因为树模型训练速度快且对特征处理友好。
  2. 特征工程:优先构造简单的时间特征而非复杂特征工程。

三、Baseline方案实现

方案设计思路

  1. 特征设计:提取时间特征(如时段、停留时长等),基于用户行为分析理论捕捉行为模式。
  2. 模型选择:采用LightGBM,其稳定性高、训练效率快且数据预处理需求低。
  3. 交叉验证:使用五折交叉验证,遵循Scikit-learn最佳实践。
  4. 阈值优化:基于F1-score动态调整分类阈值,采用精确率-召回率平衡策略。

方案优缺点

  1. 优点
    • 避免数据泄露:采用五折目标编码。
    • 计算高效:基于LightGBM的直方图算法与并行训练,训练速度比XGBoost快3-5倍。
  2. 不足
    • JSON字段udmap未充分解析。
    • 缺乏特征重要性指导的特征筛选。
    • 未处理设备品牌的长尾分布。

核心逻辑

  1. 交叉验证建模:使用StratifiedKFold进行五折交叉验证,对每个折进行模型训练和验证。
  2. 目标优化函数:寻找使F1分数最大化的最佳概率阈值,默认阈值0.5不一定最优,通过候选阈值搜索优化分类效果。

四、上分思路

赛题进阶要点

  1. 高基数类别特征处理:如device_brandudmap中的botId等。
  2. 时序模式挖掘:用户行为的时间依赖性,如活跃时间段、访问间隔等。
  3. 类别不平衡问题:新增用户比例低,需优化阈值或损失函数。

进阶方法和思路

  1. 时间序列特征:计算用户在不同时间窗口内的行为频次、活跃时长等。
  2. RFM特征:包括最近一次行为时间(Recency)、行为频率(Frequency)和行为价值(Monetary)。
  3. 组合特征与高阶交互:通过类别特征交叉和数值特征分桶与交叉,捕捉复杂模式。
  4. 按did聚合后的分层建模:将问题拆解为用户层和事件层,通过分层建模提升模型鲁棒性。
  5. 半监督学习策略:利用测试数据中重复的did作为伪标签,结合训练数据进行半监督训练。
  6. 动态标签映射与修正:针对测试集中重复的did,动态修正其预测标签。

具体进阶思路代码实现

  1. 目标编码特征构建:使用五折交叉验证进行目标编码,避免数据泄露并处理未知类别。
  2. TFIDF挖掘用户更多信息:为指定列创建TF-IDF特征,按did聚合,捕捉关键词频率分布。
  3. 聚合特征构建:基于用户唯一标识did,对用户的行为数据进行聚合统计,生成描述用户行为模式的特征。

五、附录:补充知识点简介

数据建模与特征工程

  • TF-IDF特征提取:将文本数据转化为数值特征,捕捉关键词频率分布。关键点包括文本预处理、TfidfVectorizer的参数调优以及高维稀疏特征的降维。

集成学习

  • 提升模型泛化能力,适用于标签不唯一或稀疏场景。关键点包括LightGBM/XGBoost的超参数调优、动态集成策略和半监督学习。

时间序列分析

  • 捕捉用户行为的时间动态性,如活跃周期性。关键点包括时间戳处理和动态权重。

文章转载自:
http://aeroengine.ciuzn.cn
http://bta.ciuzn.cn
http://biohazard.ciuzn.cn
http://alphametic.ciuzn.cn
http://bicornuate.ciuzn.cn
http://choirmaster.ciuzn.cn
http://alevin.ciuzn.cn
http://calendar.ciuzn.cn
http://buckinghamshire.ciuzn.cn
http://anastigmatic.ciuzn.cn
http://attaintment.ciuzn.cn
http://affix.ciuzn.cn
http://basification.ciuzn.cn
http://astir.ciuzn.cn
http://atropism.ciuzn.cn
http://aperture.ciuzn.cn
http://anil.ciuzn.cn
http://baremeter.ciuzn.cn
http://brobdingnag.ciuzn.cn
http://avi.ciuzn.cn
http://albigensianism.ciuzn.cn
http://ceremonialism.ciuzn.cn
http://banksia.ciuzn.cn
http://calcium.ciuzn.cn
http://anthelmintic.ciuzn.cn
http://backslide.ciuzn.cn
http://alastair.ciuzn.cn
http://cheetah.ciuzn.cn
http://avertable.ciuzn.cn
http://australian.ciuzn.cn
http://www.dtcms.com/a/280911.html

相关文章:

  • Springboot 项目 连接人大金仓数据库,进行功能查询demo示例
  • pytorch学习笔记(四)-- TorchVision 物体检测微调教程
  • 图像修复:深度学习实现老照片划痕修复+老照片上色
  • 一文读懂循环神经网络—门控循环单元
  • 深度学习 Pytorch图像分类步骤
  • 僵尸进程Zombie Process
  • 如何通过 WebSocket 接口订阅实时外汇行情数据(PHP 示例)
  • dom节点操作方法与事件冒泡总结
  • Python爬虫实战:研究Mistune库相关技术
  • Android中Launcher简介
  • 【SOA用于噪声抑制】光纤DFB激光器中弛豫振荡噪声抑制
  • Android原生Dialog
  • 关于我用AI编写了一个聊天机器人……(番外1)
  • 博客项目 laravel vue mysql 第六章 文章功能
  • PHP:从入门到实战的全面指南
  • 【PTA数据结构 | C语言版】构造二叉树
  • python原生处理properties文件
  • curl请求一直等待但是postman访问正常的问题处理
  • 视频HDR技术全解析:从原理到应用的深度探索
  • IDEA中删除多余的jdk选项 【IDEA2024版】
  • 企业培训视频如何做内容加密防下载防盗录(功能点整理)
  • 零信任安全架构:如何在云环境中重构网络边界?
  • Wing FTP服务器漏洞正遭活跃利用,CVSS评分10分
  • 设计模式之对象池模式
  • 说下对mysql MVCC的理解
  • 深入理解设计模式之外观模式:简化复杂系统的艺术
  • 经典排序算法之希尔排序
  • RTL编程中常用的几种语言对比
  • c#泛型集合
  • Azure FXmsv2 系列与 Azure FXmdsv2 系列虚拟机正式发布