特征怎么离散化?为什么需要离散化?

原创 2018年04月16日 17:34:00

特征怎么离散化?为什么需要离散化?

特征离散化

连续特征离散化的基本假设,是默认连续特征不同区间的取值对结果的贡献是不一样的。

特征的连续值在不同的区间的重要性是不一样的,所以希望连续特征在不同的区间有不同的权重,实现的方法就是对特征进行划分区间,每个区间为一个新的特征。常用做法,就是先对特征进行排序,然后再按照等频离散化为N个区间。

无监督方法

无监督方法都具有的问题就是都需要认为规定划分区间这个参数,常用的方法有分箱法直观划分,首先来说一下分箱法:

分箱法又分为等宽分箱法等频分箱法,其实从名字就能看出算法的做法了,前者制定定长的间隔将特征放入不同箱子内,后者根据频率划分箱子,这两种做法都有一定的缺陷。等宽分箱法对异常点比较敏感,比如数据正常范围是30-60,现在出现了一个特征本来是30不小心读取成了300,那么宽度会被拉长,实例就主要集中在前面的箱体中,后面的箱体几乎没有实例,解决的方法主要是设立阈值移除阈值以外的实例。等频分箱法的缺陷是完全按照频率划分会出现实例特征相同却不在同一个箱体内的情况,解决办法也很简单,在划分完成后进行微调就可完成。

直观划分法感觉就没什么技术了,这个算法主要是根据经验和美观,常用的方法划分出来肯定都是34267、64537这样的数,但是人们一般都习惯看到30000、50000这样的数,然后就是加上个人对数据的了解人为划分。

有监督方法

1R方法:这个方法是分箱法的有监督版本,把前6个实例放入箱子中,然后后面实例放入箱子时,对比当前实例标签与箱子中大部分实例标签是否相同,如果相同放入,如果不相同,那么形成下一个6实例的新箱子,等到最后全部放入箱子中,将箱子中大多数实例标签作为箱子的标签,再将标签相同的箱子合并

基于卡方的离散方法:首先将数值特征的每个不同值看做一个区间对每对相邻区间计算卡方统计量,如果大于阈值就合并,递归进行直到找不到卡方统计大于阈值的时候停止。卡方计算方法详见1

基于熵的离散方法:其实就是照搬了决策树的思路,使用合成的方法或者分裂的方法根据熵计算和阈值判定来决定合成或分裂。

特征离散化的优势

援引知乎严林的回答2
在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:

  • 离散特征的增加和减少都很容易,易于模型的快速迭代;
  • 稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;
  • 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;
  • 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;
  • 特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问;
  • 特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。

李沐曾经说过:模型是使用离散特征还是连续特征,其实是一个“海量离散特征+简单模型” 同 “少量连续特征+复杂模型”的权衡。既可以离散化用线性模型,也可以用连续特征加深度学习。就看是喜欢折腾特征还是折腾模型了。通常来说,前者容易,而且可以n个人一起并行做,有成功经验;后者目前看很赞,能走多远还须拭目以待。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/iyuanshuo/article/details/79963700

开发人员需要掌握的HTML和CSS知识

-
  • 1970年01月01日 08:00

连续特征的离散化的意义

连续特征的离散化:在什么情况下将连续的特征离散化之后可以获得更好的效果? Q:CTR预估,发现CTR预估一般都是用LR,而且特征都是离散的。为什么一定要用离散特征呢?这样做的好处在哪里? ...
  • shenxiaoming77
  • shenxiaoming77
  • 2017-05-21 18:09:33
  • 1511

为什么要将连续特征离散化

在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点: 0. 离散特征的增加和减少都很容易,易于模型的快速迭代; 1...
  • rosenor1
  • rosenor1
  • 2016-08-31 19:33:32
  • 744

机器学习 特征工程 特征离散化

如果想深入研究特征离散化,请直接阅读博文最后的英文文献,以免浪费您的时间! 一、什么是特征离散化 简单的说,就是把连续特征分段,每一段内的原始连续特征无差别的看成同一个新特征 二、为什么进行离散...
  • banbuduoyujian
  • banbuduoyujian
  • 2016-12-31 18:54:03
  • 2948

特征工程--特征离散化的意义

连续特征的离散化:在什么情况下将连续的特征离散化之后可以获得更好的效果? Q:CTR预估,发现CTR预估一般都是用LR,而且特征都是离散的。为什么一定要用离散特征呢?这样做的好处在哪里? ...
  • wang1127248268
  • wang1127248268
  • 2017-08-17 22:03:43
  • 614

LR其实是可以做一下特征离散化的

今天听组里人聊天,说LR需要把特征离散化,但是GBDT并不需要把特征离散化;我很疑惑,我记得lr并不需要离散化啊。后来听他们说,LR更适合处理稀疏数据,那么把特征先离散化到4个特征维度(假设的),然后...
  • tianbwin2995
  • tianbwin2995
  • 2016-07-29 09:48:47
  • 1764

连续特征离散化的好处

在实现某些算法时,只看到结论说有的连续特征需要离散化,离散化后效果会更好,巴拉巴拉。。。但是为什么要离散化还一直是云里雾里,今天特意研究了一下,记录如下: 1. 离散特征的增加和减少都很容易,易于模...
  • jbfsdzpp
  • jbfsdzpp
  • 2015-08-06 21:00:42
  • 1665

连续特征离散化达到更好的效果,特征选择的工程方法

http://www.zhihu.com/question/31989952 连续特征的离散化:在什么情况下将连续的特征离散化之后可以获得更好的效果? Q:CTR预估,发现CTR预估一般都是用LR,而...
  • lujiandong1
  • lujiandong1
  • 2015-11-23 13:19:37
  • 5830

逻辑回归LR的特征为什么要先离散化

在工业界,很少直接将连续值作为特征喂给逻辑回归模型,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点: 1. 稀疏向量内积乘法运算速度快,计算结果方便存储,容易sc...
  • yang090510118
  • yang090510118
  • 2014-09-22 16:26:19
  • 10493

离散化特征的方法

在logistic regression上,需要把一些连续特征进行离散化处理。离散化除了一些计算方面等等好处,还可以引入非线性特性, 模型会更稳定 连续性变量转化成离散型变量大...
  • kl1411
  • kl1411
  • 2017-07-01 21:16:07
  • 796
收藏助手
不良信息举报
您举报文章:特征怎么离散化?为什么需要离散化?
举报原因:
原因补充:

(最多只允许输入30个字)