《数据挖掘导论》学习笔记-离散化

什么是离散化:

连续属性的离散化就是将连续属性的值域上,将值域划分为若干个离散的区间,最后用不同的符号或整数
值代表落在每个子区间中的属性值。


为什么要离散化

连续属性离散化的目的是为了简化数据结构,数据离散化技术可以用来减少给定连续属性值的个数。离散化方法经常作为数据挖掘的工具。常见的正态假设是连续变量,离散化减少了对于分布假设的依赖性,因此离散数据有时更有效。

离散化的技术

根据数据是否包含类别信息可以把它们分成有监督的数据无监督的数据。有监督的离散化要考虑类别信息而无监督的离散化则不需要。

1、非监督离散化

无监督离散化方法在离散过程中不考虑类别属性,其输入数据集仅含有待离散化属性的值。等频率、等宽、等深、K均值都是主要是无监督的离散化方法、其中等频率、等深\K均值更为科学。

等宽离散化

如图是一个原始的数据分布图:
《数据挖掘导论》学习笔记-离散化_第1张图片
使用等宽离散化对数据进行划分的话如下图:
《数据挖掘导论》学习笔记-离散化_第2张图片
但是,我们可以发现5~10区间上数据出现的频率明显大于10~15区间上的出现频率。所以说等宽算法是最简单的无监管离散化方法,它根据用户指定的区间数目 K ,将数值属性的值域[ , ] Xmin Xmax 划分为 K 个区间,并使每个区间宽度相等,即都等于(Xmax  Xmin )/ K 。但是,当存在对于区域来说偏斜极为严重的点时,这种离散化的方法是不适用的。

等频率离散化

使用等频率离散化对数据进行划分的话如下图:
《数据挖掘导论》学习笔记-离散化_第3张图片

我们可以发现5~10区间上数据出现的频率与10~15区间上的出现频率大致相等。

K均值离散化

K-均值聚类是一种应用广泛的数据聚类算法。在用户指定了离散化产生的区间数目 K 后,K-均值算法首先从数据集中随机找出 K 个数据作为 K 个初始区间的重心;然后,根据这些重心的欧式距离,对所有的对象聚类:如果数据 x 距重心Gi 最近,则将 x 划归Gi 所代表的那个区间;然后重新计算各区间的重心,并利用新的重心重新聚类所有样本。逐步循环,直到所有区间的重心不再随算法循环而改变为止。
K均值离散化划分数据的图如下:
《数据挖掘导论》学习笔记-离散化_第4张图片

2、监督离散化

非监督离散化比不离散化的效果要好,而如果数据包含类别信息(类标号)那么会产生更好的效果。其中,基于熵的方法是最有前途的离散化方法之一。
首先来定义熵:设k是不同类的标号(即数据种类的标号),m[i]是划分的第i个区间中所有值的个数,而m[i,j]是第i个区间上标号是j的数据种类的值的个数。第i个区间的熵e[i]如下:

其中p[i,j]=m[i,j ]/m[i]表示第i个区间中数据种类为j的值出现的概率(值的比例)。


而划分的总熵e是每个区间熵的加权平均:
w[i]是第i个区间的值占所有区间中值的比例,n是区间的总个数。

我们来举个例子,如图:
《数据挖掘导论》学习笔记-离散化_第5张图片
在上图中,数据种类有两种(实心、空心),数据分布区间有三个。
在第一个公式中:可表示k=2(两种数据种类),p[1,1]表示在第一个区间中数据种类为“空心数据"出现的额概率,e[1]则表示第一个区间的熵。
在第二个公式中:n=3(有三个区间),w[1]表示在第一个区间所包含的值占三个区间总的值的比例。


参考文章:http://stat.skku.ac.kr/myhuh/homepage/specialLectures/SDULecture(Chinese).pdf

你可能感兴趣的:(《数据挖掘导论》学习笔记)