特征工程

1.数据与特征处理

1.1数据整理

1.1.1数据采集

主要是思考哪些数据有用?
比如,我现在要预测用户对商品的下单情况, 或者我要给
用户做商品推荐, 那我需要采集什么信息呢?
店家的, 商品的, 用户的(埋点)

1.1.2数据格式化

比如时间用年月日还是时间戳还是第几天等等

1.1.3数据清洗

(1)异常值处理

(2)缺失值处理

1.1.4样本不平衡问题

其实现实中大多数情况下,正负样本的真实分布都是不均衡的。
①上采样
②下采样
③人工合成少数类样本。代表算法:SMOTE (Synthetic Minority Oversampling Technique)
④加数据,加特征,加ensemble模型。这样做增加了模型对少数类样本的理解。
⑤在模型中设置class_weight

1.2数值型/类别型/日期型/文本型特征处理

  1. 数值型
  • 幅度调整/归一化
  • 统计值max, min, mean, std
  • 离散化(分组、分箱)
  • Hash分桶
  • 每个类别下对应的变量统计值histogram(分布状况)
  • 试试 数值型 => 类别型
  1. 类别型
  • one-hot编码/哑变量
  • Hash与聚类处理
  • 小技巧:统计每个类别变量下各个target比例,转成数
    值型
  1. 时间型
  • 看作连续值
    a)  持续时间(单页浏览时长)
    b)  间隔时间(上次购买/点击离现在的时间)
  • 看作离散值
    a)  一天中哪个时间段(hour_0-23)
    b)  一周中星期几(week_monday…)
    c)  一年中哪个星期
    d)  一年中哪个季度
    e)  工作日/周末
  1. 文本型
  • 词袋
  • 使用Tf–idf 特征
  • 词袋 => word2vec
  1. 统计型
    历届的Kaggle/天池比赛, 天猫/京东排序和推荐业务线里模型用到的特征:
  • 加减平均: 商品价格高于平均价格多少, 用户在某个品
    类下消费超过平均用户多少, 用户连续登录天数超过平
    均多少…
  • 分位线: 商品属于售出商品价格的多少分位线处
  • 次序型: 排在第几位
  • 比例类: 电商中, 好/中/差评比例,你已超过全国百分之… 的同学

2.特征选择

2.2过滤型Filter

评估单个特征和结果值之间的相关程度, 排序留下Top相关的特征部分。
方法:Pearson相关系数, 互信息, 距离相关度
缺点: 没有考虑到特征之间的关联作用, 可能把有用的关联特征误踢掉

2.3包裹型Wrapper

把特征选择看做一个特征子集搜索问题, 筛选各种特征子集, 用模型评估效果。
方法:递归特征删除算法
比如用逻辑回归怎么做呢?
①   用全量特征跑一个模型
②   根据线性模型的系数(体现相关性), 删掉5-10%的弱特征, 观察准确率/auc的变化
③   逐步进行, 直至准确率/auc出现大的下滑停止

2.4嵌入型Embedded

根据模型来分析特征的重要性。
方法:正则化(L1,L2),决策树(熵、信息增益)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值