Python构建个性化广告推荐模型的特征工程流程讲解【教学】

2次阅读

广告推荐特征工程首要明确场景(如信息流/搜索广告)和目标变量(CTR/CVR/停留时长),再构建用户、广告、上下文三类特征,处理稀疏特征、交叉组合、归一化及缺失值,最终封装为可复用transformer

Python构建个性化广告推荐模型的特征工程流程讲解【教学】

明确推荐场景和目标变量

做广告推荐的特征工程,第一步不是写代码,而是想清楚“要推什么、给谁推、怎么算好”。比如是首页信息流里的原生广告,还是搜索结果页的竞价广告?目标变量通常是点击(CTR)、转化(CVR)或停留时长——不同目标决定特征设计重点。点击率预测更关注用户兴趣匹配度,转化率预测则要加入行为深度、历史下单等强信号。

构建三类核心特征:用户、广告、上下文

特征骨架通常围绕三个维度展开:

  • 用户侧:基础属性(年龄区间、设备类型、城市等级)、行为序列(最近3次点击的广告类目、7天内曝光未点广告数)、兴趣标签(用TF-IDF或embedding聚合历史点击关键词)
  • 广告侧:素材特征(标题长度、是否含emoji、图片亮度/色彩丰富度)、投放属性(出价类型、定向人群包ID、所属行业一级类目)、历史表现(该广告过去24小时CTR滑动均值)
  • 上下文侧:时间(是否工作日、小时段分桶)、位置(GPS聚类后的商圈ID)、场景(app启动后第几次请求、是否来自Push唤醒)

处理稀疏与高基数特征

广告ID、用户ID、关键词这类高维稀疏特征不能直接One-Hot。常用做法是:red”>频次截断+哈希映射(如只保留出现≥5次的广告ID,再用hash(广告ID) % 10000降维);或者用目标编码(Target Encoding)替代原始ID——用该广告的历史平均CTR代替ID本身,但要加平滑防止过拟合(例如:(点击数+α×全局平均CTR) / (曝光数+α))。

生成交叉与动态组合特征

单特征往往不够,关键在组合:

Python构建个性化广告推荐模型的特征工程流程讲解【教学】

FashionLabs

AI服装模特、商品图,可商用,低价提升销量神器

Python构建个性化广告推荐模型的特征工程流程讲解【教学】 86

查看详情 Python构建个性化广告推荐模型的特征工程流程讲解【教学】

立即学习Python免费学习笔记(深入)”;

  • 用户-广告交叉:如“用户近3天是否点击过同类广告”布尔特征、“用户对该广告行业的历史CTR差值”数值特征
  • 时间衰减特征:对用户近期行为加权,例如用0.95^t对t小时前的行为打分,再求和得到“兴趣活跃度”
  • 实时信号接入:若系统支持,可引入“该用户过去10分钟内是否搜索过广告词”这类秒级特征,用redis缓存实时更新

特征归一化与缺失值统一处理

数值型特征(如出价、曝光次数)建议用RobustScaler(中位数+四分位距),比StandardScaler更抗异常值干扰;类别型特征缺失统一填“UNK”并单独编码;时间类特征(如距上次点击小时数)可分桶+onehot,避免模型误学线性关系。所有特征处理逻辑必须封装成scikit-learn风格的Transformer类,确保训练/推理一致。

基本上就这些。特征工程不是砌字段,而是围绕业务目标,把“人、货、场”的关系翻译成模型能理解的数字语言。

text=ZqhQzanResources