机器学习数据预处理——特征选择

引言

  在机器学习的训练过程中,总是会碰到样本大、特征多的数据集。而这些数据集里面的数据有些是用处很小甚至完全无用的。如果一组数据中的无用数据占比较大时,一方面会使得模型的训练时间变长,另一方面模型容易出现欠拟合现象;而如果一组数据中作用较小的数据,即在训练中不能较好体现数据集中样本特征的数据,这类数据占比较大时,除了会提升模型训练的时间以外,还容易引起模型的过拟合现象。
  针对这种情况,我们需要对这组数据集进行数据的预处理,其主要的方法有降噪、特征选择以及降维处理,而这次主要讲解如何进行特征选择以及特征选择的一些算法。

基于机器学习的数据不平衡问题处理
机器学习数据预处理——降维

特征选择

  在一个典型的机器学习中,是通过特征来预测样本的值;而当特征过少时,我们往往会通过某些算法来增加特征,但实际上,大多数时候特征的数量总会过多,那里面难免会出现一些对模型训练的无用或多余的特征。例如:对汽车能否卖出进行预测时,若有特征如下——用户群体、汽车编号、汽车舒适度以及中国男女比例,那么显然,中国男女比例就是一个无用特征;再者,同样对与车能否卖出进行预测,若特征变成如下几个——汽车底盘大小,汽车的价格,汽车的舒适度以及汽车的占地面积,在这组特征里,汽车底盘大小和汽车的占地面积有较大的重复性,这便是存在多余特征,选其中一个即可.
  那么对于这些特征,若不加以处理,则容易影响模型的最终训练效果。其处理方法主要有如下几种:

  1. 过滤法(Filter):这种方法首先选定特征,再来进行学习。根据每一个属性的一些指标(如方差等),来确定这个属性的重要程度,然后对所有属性按照重要程度排序,从高到低的选择属性。选定了属性以后,再来进行训练。比如Fisher Score、Laplacian Score等。这种方法其实不大好,因为决定特征选择效果的不是单个的属性,而是属性的集合,比如属性A、B、C,单个来看效果不好,但是它们组合起来效果有可能不错。
  2. 包裹法(Wrapper):这种方法把选定的特征集用分类器进行训练,用训练效果(如准确率等)来作为特征集的评价。比如将启发式搜索、GA等。这种方法和分类器相结合,比较直观,和Filter相比也更加合理。缺点是计算开销较大。
  3. 嵌入法(Embedding):把特征选择的过程作为学习过程的一部分,在学习的过程中进行特征选择,最典型的如决策树算法。

过滤法(Filter)

  过滤式方法先对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习器无关.这相当于先用特征选择过程对初始特征进行"过滤",再用过滤后的特征来训练模型.

方差过滤法

  方差过滤法是一种十分简单粗暴的方法,给定一个阈值,方差过滤法会将方差低于或等于该阈值的特征筛选掉。我们认为当一组特征的变化小到一定程度时,这组特征对结果的预测所能起到的帮助便是微乎其微的,甚至为0,所以方差过滤法便将这些数据给筛选掉。

步骤

  先求得所有特征的方差值,然后给定一个阈值,最后将小于等于该阈值的特征给筛选掉,留下满足条件的特征组成新的数据集。

优缺点
优点
  1. 计算量较小,只需计算所有特征的方差即可
  2. 可作为第一次特征选择对特征进行过滤,降低后续算法的计算成本
缺点
  1. 比较依赖阈值的选取,如果阈值选取过高,会筛选掉许多有用特征;阈值过低,又会留下较多无用数据
  2. 一些作用较大的数据可能因为数据不平衡等问题出现方差较小的情况,而这些特征容易被方差过滤法给误删了
  3. 只能用于离散型数据,对于连续型数据,应先划分区间,将连续性化成离散型,再进行方差过滤

  由于方差过滤法的缺点较大,所以往往是先采用方差过滤法将一些变化极小或为无变化的特征先行筛选掉,减少一部分数据,然后再采用包裹法或嵌入法进行二次筛选

卡方检验

  卡方检验是特征选择中一种常见的算法。
  卡方检验在特征选择中是用以判别特征之间是否相互独立,即有无多余特征的出现

卡方分布

  定义:若 k k k个独立的随机变量 z 1 , z 2 , ⋯   , z k z_{1},z_{2},\cdots ,z_{k} z1,z2,,zk,且 z i ∼ N ( 0 , 1 ) ( i = 1 , 2 , ⋯   , k ) z_{i}\sim N\left (0,1 \right )\left (i=1,2,\cdots ,k\right ) ziN(0,1)(i=1,2,,k),则这 k k k个随机变量的平方和 Z = z 1 2 + z 2 2 + ⋯ + z k 2 Z=z_{1}^{2}+z_{2}^{2}+\cdots +z_{k}^{2} Z=z12+z22++zk2为服从自由度为 k k k的卡方分布,记为: Z ∼ x 2 ( k ) Z\sim x^{2}\left ( k\right ) Zx2(k)
  卡方分布的期望: E ( x 2 ) = n E\left (x^{2}\right )=n E(x2)=n,方差: D ( x 2 ) = 2 n D\left ( x^{2}\right )=2n D(x2)=2n n n n为分布的自由度

思想

  卡方检验是以 χ 2 \chi ^{2} χ2分布为基础的一种常用假设检验方法,它的无效假设 H 0 H_{0} H0是:观察频数与期望频数没有差别
  该检验的基本思想是:首先假设 H 0 H_{0} H0成立,基于此前提计算出 χ 2 \chi ^{2} χ2值,它表示观察值与理论值之间的偏离程度。根据 χ 2 \chi ^{2} χ2分布及自由度可以确定在 H 0 H_{0} H0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值