无监督方法
1、等宽分箱法
比如我们的特征数据在0-100,之间,等宽分成10份,分别为[0-10],[11-20],...,[90-100]
假设有个数据值为11,那么其对应的one-hot向量为[0,1,0,0,0,0,0,0,0,0]
等宽分箱法的缺陷:假设有个别特征值过大,那么和上面分同样多份宽度会拉长,实例就主要集中在前面的箱体中。
那么我们设立阈值之外的一等份。此时我们可以分成[0-10],[11-19],...,[90-99],[100, +∞)
增加一个[100, +∞)
分段。
2、等频分箱法
区间的边界值要经过选择,使得每个区间包含大致相等的实例数量。比如说 N=10 ,每个区间应该包含大约10%的实例。
监督方法
卡方分箱
卡方分箱包括两个阶段:初始化阶段和自底向上的合并阶段。
下面的示例按照下图实例说明
1、初始化阶段
1)、设置一个卡方阈值。通过自由度和置信度计算出来。比如下面实例中,对相邻的属性计算卡方值:
自由度:(2行-1)*(3列-1)=2
置信度:90%(10%显著性水平)
计算得卡方值为4.6
2)、首先按照属性值(特征值)的大小进行排序,然后每个属性值单独作为一组。
2、合并阶段
1)、对每一对相邻的组,计算卡方值。
2)、根据计算的卡方值,对其中最小的一对邻组合并为一组。(低卡方值表明它们具有相似的类分布)。
3)、不断重复(1),(2)直到计算出的卡方值都不低于事先设定的阈值,或者分组数达到一定的条件(如最小分组数5,最大分组数8)。
卡方相关概念计算可参考:
卡方检验
3、生成one-hot(个人想法)
根据分箱后的结果生成one-hot的向量,样本特征值对比分箱结果划分到one-hot向量里的对应位置。
注:
1、ChiMerge算法推荐使用0.90、0.95、0.99置信度,最大区间数取10到15之间.
2、也可以不考虑卡方阈值,此时可以考虑最小区间数或者最大区间数。指定区间数量的上限和下限,最多几个区间,最少几个区间。
3、对于类别型变量,需要分箱时需要按照某种方式进行排序。
图是著名的鸢尾花数据集sepal-length属性值的分组及相邻组的卡方值。最左侧是属性值,中间3列是class的频数,最右是卡方值。这个分箱是以卡方阈值1.4的结果。
下面分箱是以卡方阈值4.6的结果
1R方法
…
最小熵法分箱
最小熵法分箱都是类ID3决策树的方法:首先对某个特征所有值进行排序,通过遍历该特征所有的值(离散值,连续值需要处理成离散值)。计算信息增益,选择信息增益大的值作为一个分断点,然后这个断点将数据分成两部分,然后分别对分割的两部分依次进行上面的操作,直到达到停止条件。
一般来说,停止准则是当得到的每个区间中的类标签都是一样。这样将导致到的分割点太多,过拟合。我们可以设置一些停止阈值,比如当信息增益小于阈值就停止等。
通过ID3算法衍生出D2和MDLP(minimum description length principle,最小描述长度准则)基于熵的离散化方法。
D2
D2的迭代类似ID3,它的停止条件为:
- 1、如果切分后的样本数少于14
- 2、分割的区间大于8
- 3、切分的样本都属于同一类
MDLP
MDLP的过程和ID3类似,但是它有特殊的停止方法。一般的,他设置两中停止方法:
- 1、设置迭代的深度
- 2、
g a i n ≥ ( 1 /