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

来源:互联网 发布:编程使用的安卓模拟器 编辑:程序博客网 时间:2024/05/30 05:40

如果想深入研究特征离散化,请直接阅读博文最后的英文文献,以免浪费您的时间!
一、什么是特征离散化
简单的说,就是把连续特征分段,每一段内的原始连续特征无差别的看成同一个新特征
二、为什么进行离散化
1、离散化的特征更易于理解
2、离散化的特征能够提高模型准确度,提高运行速度。使得规则或模型更加简洁
3、有些归纳方法比较适于处理离散化特征
三、特征离散化方法
1、认识数据
数据可以分为:离散数据、连续数据、nominal数据。其中离散数据和连续数据是有序数据,而nominal数据是无序数据。那么数据对分类会有什么影响那?举个例子,假设特征X是连续的,连续特征有非常多的取值(或无限的取值)。现在我们在构造分类器,并且选中了X作为分支变量就会出现下图情况:
这里写图片描述
m表示M的取值个数,m是非常大的一个数。这样一下子就把数据划分的很细,导致划分过早结束,分类器就很不可信。因此在分类之前或分类过程中应该对X离散化处理
2、离散化方法的分类
从不同角度,离散化可以分为:
(1)监督 VS 无监督(2)动态 VS静态 (3)局部 VS 全局 等等,下图对离散化进行了分层:
这里写图片描述
3、离散化的过程
离散化的基本过程如下图所示:
这里写图片描述
4、splitting 离散化方法
(1)Binning方法。主要包括等宽离散化和等频离散化方法,是无监督离散化方法,这两种方法可能会把属于同一类别的不同实例分到不同箱中。
(2)1R离散化。该方法是有监督离散化方法,该方法的过程如下图:
这里写图片描述
假设,除了最后一个区间外每个区间最少有6个实例,那么11-20是包含6个实例,但是21对应的类别是C,与11-20中最多的类别一致,所以21加入进来,但是22类别是R,与11-21的最多类别C不一致,所以从21开始新的区间。最后,相邻的类别区间合并。
(3)entropy方法:
基于entropy的方法有很多,这里介绍下D2[3]
a、D2方法
由于ID3/C4.5算法,在每一个分裂节点对所有的连续特征都需要离散化,因此算法运行可能较慢。D2方法只对所有的特征进行一次离散化,所以可以提高算法的运行效率。
结合下图简单说下D2方法
这里写图片描述
图上的点表示候选分裂点,数字1-5表示选中的五个分裂点,其中点1是用ID3方法选中的第一个分裂点,图中的IG曲线表示特征未离散化之前的信息增益。从图中可以看到,点1把数据分为左右两个部分,接下来分别计算左右两边的信息增益。对左边而言,点3作为分裂点较好,虽然点3在分裂之前的信息增益IG很小,但仅仅考虑左边点3是比较好的分裂点。其余的分裂点的选取也都一样。
D2算法什么时候停止呢?D2停止条件可以视情况而定,这里简单列举下几个可选的终止条件:
interval里的数据很少;interval里的数据属于同一类;每个候选分裂点的IG都差不多等
5、Merging 方法
Merging 方法的框架如图所示:
这里写图片描述
(1)ChiMerge方法
ChiMerge方法的度量是基于卡方检验的,因此首先介绍下卡方检验。
卡方检验的大概思想是:通过理论值与实际观测值之间的差异来判断独立假设是否成立。计算出卡方值后,通过查临界值表得到独立假设成不成立的可能性大小。卡方检验有很多应用,例如特征选择、异常值检测等。这里我们主要讨论卡方检验怎样用在特征离散化的过程。
a、既然要对连续特征进行离散化,我们怎么大致看出离散化结果的好坏呢?如果interval内部class label比较一致,而且不同intervals之间class分布有较大的差异,这种离散化结果应该是比较好的。
b、ChiMerge方法
该方法基于卡方检验,并假设相邻的两个intervals之间是独立的,如果假设成立,相邻的intervals进行合并,否则不进行合并。那么为什么这样做是合理的呢?这的先介绍算法过程
首先看看相邻intervals的卡方值计算:
这里写图片描述
计算完相邻intervals之间的卡方值之后,我们可以选择小于(卡方-阈值)的intervals进行合并,具体过程与阈值选择问题不再赘述,请参考文献。下面说说假设与intervals合并的问题。如下图所示:
这里写图片描述
X={i1,i2}表示两个相邻的intervals,Y={c1,c2}表示两个class label,元素o表示在区间i1,i2中的c1,c2的个数。我们的问题是:X的取值与Y的取值之间有关系吗?换句话说,X=i1时,Y会不会取c2的可能性更大。如果X、Y之间没关系,那么不太会出现某一class Label集中出现在某一区间中,换句话说c1,c2在两个intervals中不会出现过于集中某一interval现象,此时对应卡方值较小,两区间可以合并。反之,两区间保持独立性。
C、ChiMerge方法的优缺点
优点:鲁棒性;易于实现;适用于多分类
缺点:略(但很重要)

[1]Discretization: An Enabling Technique,HUAN LIU
[2]Kerber, R. 1992. Chimerge: Discretization of numeric attributes
[3]Catlett, J. 1991. On changing continuous attributes into ordered discrete attributes

1 0