当前位置:   article > 正文

特征工程汇总: 异常值处理、特征选择_推荐算法中 对于异常特征 怎么处理

推荐算法中 对于异常特征 怎么处理

1.特征离散化

特征离散化,就是,对于数值型特征(连续或者非连续),可以吧特征转变为离散特征。
方法,就是,把特征数值从小到大排序,然后,等值或者等数量用相应的离散数值代替。或者,对于非连续特征进行独热编码(one-hot).

2.特征交叉

特征交叉也是特征组合,考虑在一种特征取值下,其他特征取值的情况。
比如,估计学生的每月消费水平。考虑,性别,年龄,家庭收入等特征。
同时考虑性别和家庭收入两个特征,可以得到男生、女生家庭收入的平均值、标准差等特征。

3.归一化

对于连续型数值特征,每个特征减去特征最小值,然后除以特征最大值与最小值之差。
或者采用标准差标准化,每个特征减去特征的平均值,再除以特征的标准差;
其他,非线性标准化。
在一些数据分化比较大的场景,通过数学函数,将原始值进行映射(如,log,exp,tan),改变数据的分布。

归一化的好处:
能够提高梯度下降法的速度。
如果没有归一化,不同特征等高线区间相差很大,梯度下降求解的时候,走“之”字型;
进行归一化之后,两个特征对应的等高线显得很圆,收敛更快。

归一化能改变模型精度吗
可能。比如,对应需要计算样本之间距离的分类器,如KNN。进行归一化后,本来值域比较小的特征的重要性得到提高,会改变模型的精度。

哪些模型不要进行归一化操作:
概率模型不需要归一化。它们关心变量的分布和变量之间的条件概率,例如,决策树、randomforest;
树形结构都不需要归一化,因为数值缩放,不影响分裂点,树模型第一步会按照特征值进行排序。

4.因子化

把类别型特征进行one-hot处理。

5.缺失值处理

1.删除
把缺失值过多的特征直接删除(例如,特征比例达到70%)
2.填充
单纯使用0,特征平均值等填充;
使用拉格朗日插值法、牛顿插值法进行填充;
或者把缺失值列当做目标值,利用模型(如随机森林等)去预测。
此外树模型可以处理缺失值,会根据增益确定分裂方向。

6.去除共线性

首先,确定相关性强的特征。
通过计算皮尔斯相关性(相关系数)、互信息,来计算两两特征之间的相关性。然后,可以把特征值较强的前20%,或者超过阈值的特征进行删除冗余特征。

此外,还可以计算方差扩大因子(Variance inflation factor,VIF)计算两个特征的方差商。

from statsmodels.stats.outliers_influence import 
variance_inflation_factor
  • 1
  • 2

7.异常值处理

首先,异常值,也称为离群点,是认为在数据中存在不合理的值。可以通过以下方法检测:
1.简单统计。
属性值进行描述性统计,根据先验评估。例如,年龄统计范围为【0,200】,从目前常识看,这个年龄特征存在异常值。
2. 3sigma准则
数据服从正态分布,那么与均值的差超过3倍标准差的值都可以认为异常值(出现的概率很小)。
3. 基于距离。
通过KNN计算距离,分析异常值。
4. 箱型图
与2类似,会设定上界和下界,上四分位U指,样本只有1/4数值大于它;同样有下四分位L。
两者插值IQR = U- L;
上界 = U+ 1.5IQR;
下界 = L - 1.5
IQR。
5.其他
例如基于密度,基于聚类等方法。

然后,对于异常值处理方法:
1.删除;
2.不处理
3.均值填充;

8.特征选择

选择有意义的特征输入到模型中,从特征集合中挑选一组最具统计意义的特征,达到降维的目的。
两方面考虑:
1.特征是否发散
如果特征不发散,方差接近0,说明特征没有差异,含有信息量太少;
2.特征与目标的相关性;

常见的特征选择可以分为三类:

  1. 过滤式(filter)
    先筛选特征,例如,移除低方差的特征;使用卡方检验;皮尔逊相关系数;

卡方检验:
卡方检验通过观察实际值与理论值的偏差来确定理论的正确与否。
先假设两个变量是独立的,然后观察实际值与理论值(在两者独立情况下的值)的偏差程度。如果偏差小,则接受假设;否则,假设错误,两个变量并非独立。
在这里插入图片描述
x i x_i xi 为观察频数; m i m_i mi 为期望频数。

卡方检验应用实例

互信息:

sklearn.metrics.mutual_info_score
  • 1
  1. 包裹式(wrapper)
    把特征选择看做一个特征子集搜索问题;筛选各种特征子集;用模型评估效果。
  2. 嵌入式(Embedding)
    将特征选择过程和学习器的训练过程融为一体。

9. 特征提取

将原始特征转换成一组具有明显物理意义或者统计意义的特征。


参考:

  1. Github 特征选择包
  2. 互信息
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/759944
推荐阅读
相关标签
  

闽ICP备14008679号