赛题信息背景
任务描述:基于用户对广告任务的历史行为和广告任务属性,选择合适的算法预测用户在特定上下文下对某个广告任务的点击概率。
尝试解决的问题:提高广告点击转化率预估的准确性
难点:广告任务相对可推用户数量非常少;有行为的广告任务较少,数据非常稀疏;广告任务在投放周期的不同阶段转化率差异较大;存在误点击噪音数据;有效特征识别困难
数据集 - 训练集很大,采用分割方式进行数据集查看
-
训练集 [‘label’, ‘uId’, ‘adId’, ‘operTime’, ‘siteId’, ‘slotId’, ‘contentId’, ‘netType’]
- 标签 用户ID 广告ID 操作时间 媒体ID 广告位ID 内容ID 网络类型
-
测试集 [‘testId’, ‘uId’, ‘adId’, ‘operTime’, ‘siteId’, ‘slotId’, ‘contentId’, ‘netType’]
- testId 用户ID 广告ID 操作时间 媒体ID 广告位ID 内容ID 网络类型
-
用户信息表 user_info [‘uId’, ‘age’, ‘gender’, ‘city’, ‘province’, ‘phoneType’, ‘carrier’]
- 用户年龄、性别、省份、城市、手机类型、运营商编号
-
广告信息表 ad_info [‘adId’, ‘billId’, ‘primId’, ‘creativeType’, ‘intertype’, ‘spreadAppId’])
- 广告ID 收费模式 所在APPID
-
素材信息表 content_info [‘contentId’, ‘firstClass’, ‘secondClass’]
- 内容ID 一级内容 二级内容
数据探索
- 训练集没有缺失
- 测试集 内容Id列有缺失 156个采用SimpleImputer 众数补全
- 用户特征 carrier 3.8%缺失 city 0.27% age 0.16% gender 0.16% 众数补全
- 都是类别特征(age已经分箱)用柱状图画出数据分布
- 广告信息表 ad_info spreadAppId 缺失39%
- 素材信息表 content_info secondClass,缺失58%
缺失值 异常值处理
缺失处理
(1) 直接剔除:结合变量重要性、缺失比例综合考量
(2) 忽略缺失:结合变量重要性、缺失比例综合考量
(3) 人工填补:业务能解释缺失,如使用次数为空,缺失代表没有使用过,置0
(4) 算法填补:采用回归、贝叶斯、判定树拟合缺失值
(5) 均值填补:使用属性的平均值填补缺失
- 异常值处理
(1)(均值±3*标准差)替换极值,理论上99.73%的数据都在此范围
(2)(Q1-1.5IQR , Q3+1.5IQR)替换极值 IQR = Q3 - Q1是四分位距 Q3 75%位数 Q1 25%位数