(一)ChiMerge 的工作原理:
ChiMerge 是监督的、自底向上的(即基于合并的)数据离散化方法。它依赖于卡
方分析:具有最小卡方值的相邻区间合并在一起,直到满足确定的停止准则。
基本思想:对于精确的离散化,相对类频率在一个区间内应当完全一致。因此,
如果两个相邻的区间具有非常类似的类分布,则这两个区间可以合并;否则,它
们应当保持分开。而低卡方值表明它们具有相似的类分布。
1、 最简单的离散算法是:等宽区间。 从最小值到最大值之间,,均分为 N 等
份, 这样, 如果 A, B 为最小最大值, 则每个区间的长度为 w=(B-A) / N, 则
区间边界值为 A+W, A+2W, …. A+(N-1)W。
2
、 还有一种简单算法,等频区间。区间的边界值要经过选择,使得每个区间包
含大致相等的实例数量。比如说 N
=
10,每个区间应该包含大约 10
%
的实例。
3、 以上两种算法有弊端:比如,等宽区间划分,划分为 5 区间,最高工资为
50000,则所有工资低于 10000 的人都被划分到同一区间。等频区间可能正好相
反,所有工资高于 50000 的人都会被划分到 50000 这一区间中。这两种算法都忽
略了实例所属的类型,落在正确区间里的偶然性很大。
4、 C4、CART、PVM 算法在离散属性时会考虑类信息,但是是在算法实施的
过程中间,而不是在预处理阶段。例如,C4 算法(ID3 决策树系列的一种),
将数值属性离散为两个区间,而取这两个区间时,该属性的信息增益是最大的。
5、 评价一个离散算法是否有效很难,因为不知道什么是最高效的分类。
6、 离散化的主要目的是:消除数值属性以及为数值属性定义准确的类别。
7、 高质量的离散化应该是:区间内一致,区间之间区分明显。
8、 ChiMerge 算法用卡方统计量来决定相邻区间是否一致或者是否区别明显。
如果经过验证,类别属性独立于其中一个区间,则这个区间就要被合并。
9、 ChiMerge 算法包括 2 部分:1、初始化,2、自底向上合并,当满足停止条
件的时候,区间合并停止。
第一步:初始化
根据要离散的属性对实例进行排序:每个实例属于一个区间。
第二步:合并区间,又包括两步骤:
(1) 计算每一对相邻区间的卡方值。
(2) 将卡方值最小的一对区间合并。
预先设定一个卡方的阈值,在阈值之下的区间都合并,阈值之上的区间保持分区
间。
卡方的计算公式:
参数说明: