Datawhale 零基础入门数据挖掘Task3特征工程

目录

 

Task3 特征工程

数据理解


Task3特征工程

特征工程:将数据转换为能更好地表示潜在问题的特征,从而提高机器学习性能。

  1. 数据理解;
  2. 数据清洗;
  3. 特征构造;
  4. 特征选择;
  5. 类别不平衡;

数据理解

目的:探索数据,了解数据,主要在EDA阶段完成。

定性数据:描述性质

  • 定类
  • 定序

定量数据:描述数量

  • 定距:可以加减---日期(时间差)
  • 定比:可以乘除---价格(几倍)

数据层---->描述层----->解读层----->绪论层

 

数据清洗

目的:提高数据质量,降低算法用错误数据建模的风险。

设想一下,给模型一个杂乱无章非常脏的数据,那么模型学习起来也是非常困难的,那如果我们给的数据是比较干净的,那学习起来也会很方便。

  1. 特征变换:模型无法处理或者不适合处理
  • 定性变量编码:Label Encoder;Onehot Encoder;Distribution Encoder;(比如说LR是不适合处理类别变量的)
  • (有时候我们还需要对数据的分布进行转换)标准化,Z分数标准化(标准正态分布)和归一化,min-max归一化[0,1]区间;
  • 针对幂律分布,可以采用公式:log(\frac{1+x}{1+median})

   2.缺失值的处理:

  •    不处理(针对类似XGBoost等树模型);
  • 删除(缺失数据太多);
  • 插值补全,包括均值/中位数/中位数/众数/建模预测/多重插补/压缩感知补全/矩阵补全等;
  • 分箱,缺失值一个箱;

   3.异常处理:减少脏数据

  •    简单统计:如describe()的统计描述;散点图等直观方法;
  • 通过箱线图或者3\partial法则(正态分布)分析删除异常值
  • BOX-COX转换(处理有偏分布
  • 长尾截断
  • 利用模型进行离群点检测:聚类、K近邻、One Class SVM、Isolation Forest.

4.其他:删除无效列(这一列没有多少信息)/更改dtypes/删除列中多余的字符或者空格/将字符串转换为日期时间格式等。

特征构造

目的:增强数据表达,添加先验知识。设想一下,如果我们实现知道了某些规律,用这种特征构造的方式表达出来,会使模型学得更好一点。

  1. 统计量特征:计数,求和,比例,标准差
  2. 时间特征:绝对时间,相对时间,节假日,双休日;
  3. 地理信息:分桶(比如经纬度,是比较密集的,用分桶把它转换为离散变量)
  4. 非线性变换:取log/平方/根号;(主要是为了增加模型的非线性)
  5. 分桶:等频/等距分桶,Best-KS分桶,卡方分桶;
  6. 特征组合/特征交叉(FM)

特征选择

目的:平衡预测能力和计算复杂度;降低噪声,增强模型预测性能。

1.过滤式(Filter):先用特征选择方法对初始特征进行过滤然后再训练学习器,特征选择过程与后续学习器无关;

Relief/方差选择/相关系数/卡方检验/互信息法

2.包裹式(Wrapper):直接把最终将要使用的学习器的性能作为衡量特征子集的评价准则,其目的在于为给定学习器选择最有利于其性能的特征子集。

Las Vegas Wrapper(LVM)

3.嵌入式(EMbedding):结合过滤式和包裹式方法,将特征选择与学习器训练过程融为一体,两者在同一优化过程中完成,即学习器训练过程中自动进行了特征选择。

LR+L1或决策树

类别不平衡

缺点:少类别提供信息太少,没有学会如何判别少数类。

1.扩充数据集;

2.尝试其他评价指标:AUC等(对类别不平衡不敏感的评价指标)。

3.调整\Theta值;(这个主要是针对LR的,将阈值调整一下)。

4.重采样:过采样/欠采样;

5.人工合成样本:SMOTE;

6.选择其他模型:决策树等(对类别不平衡兼容性比较好)。

7.加权少类别的样本错分代价;(如果它错分的话,让它在目标函数上有更多的代价)。

8. a)将大类分解成多个小类,这样就可以把问题转换为多分类问题;b)将小类视为异常点,并用异常检测模型建模;

 

     

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值