随着计算机硬件和软件技术的飞速发展,尤其是数据库技术的普及,人们面临着日益扩张的数据海洋,原来的数据分析工具已无法有效地为决策者提供决策支持 所需要的相关知识,从而形成一种独特的现象“丰富的数据,贫乏的知识”。数据挖掘[1]又称为数据库中知识发现(Knowledge Discovery from Database,KDD),它是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的复杂过程。目的是在大量的数据中发现人们感兴趣的知 识。?
常用的数据挖掘技术包括关联分析、异类分析、分类与预测、聚类分析以及演化分析等。由于数据库中收集了大量的数据,聚类分析已经成为数据挖掘领域的重要技术之一。?

1问题的提出?

随着社会的发展和人们生活水平的提高,优育观念[2,3]逐渐***到每个家庭,小儿的生长发育越来越引起家长们的重视。中国每隔几年都要进行全国儿童营 养调查,然而用手工计算的方法在大量的数据中分析出其中的特点和规律,显然是不现实的,也是不可行的。为了有效地解决这个问题,数据挖掘技术——聚类分析 发挥了巨大的作用。?
在数据挖掘领域,聚类算法经常遇到一些问题如聚类初始点的选择[4]、模糊因子的确定[5]等,大部分均已得到解决。 现在的研究工作主要集中在为大型的数据库有效聚类分析寻找适当的方法、聚类算法对复杂分布数据和类别性数据聚类的有效性以及高维数据聚类技术等方面。本文 通过对聚类分析算法的分析并重点从聚类分析的软件工具和改进的K-means算法两个方面来论证聚类分析在儿童生长发育时期中的应用。?

2聚类算法分析?

聚类[6]分析是直接比较各事物之间的性质,将性质相近的归为一类,将性质差别较大的归入不同的类。在医学实践中也经常需要做分类工作,如根据病人的一 系列症状、体征和生化检查的结果,判断病人所患疾病的类型;或对一系列检查方法及其结果,将之划分成某几种方法适合用于甲类病的检查,另几种方法适合用于 乙类病的检查,等等。聚类分析被广泛研究了许多年。基于聚类分析的工具已经被加入到许多统计分析软件包或系统中,如S-Plus、SPSS,以及 SAS。?
大体上,聚类算法[7]可以划分为如下几类:?

(2)层次方法。该方法就是通过分解所给定的数据对象集来创建一个层次。它存在的缺陷就是在进行(组)分解或合并之后无法回溯。将循环再定位与层次方法结合起来使用常常是有效的,如BIRCH和CURE,就是基于这种组合方法设计的。?
(3)基于密度的方法。只要临近区域的密度(对象或数据点的数目)超过某个阈值,就继续聚类。DBSCAN是一个有代表性的基于密度的方法。它根据一个密度阈值来控制簇的增长。?
(4)基于网格的方法。基于网格方法将对象空间划分为有限数目的单元以形成网格结构。其主要优点是它的处理速度很快,其处理时间独立于数据对象的数目,只与量化空间中每一维的单元数目有关。STING 就是一个典型的基于网格的方法。?
(5)基于模型的方法。该方法就是为每个聚类假设一个模型,然后再去发现符合相应模型的数据对象。它根据标准统计方法并考虑到噪声或异常数据,可以自动确定聚类个数;因而它可以产生很鲁棒的聚类方法。?
数据挖掘在不同领域对聚类算法提出了各自特殊的要求,表1可以给聚类算法的研究和应用提供参考[7]。?

3儿童生长发育的分析?

聚类分析在数据挖掘中的应用主要有以下三个方面:?
(1)聚类分析能作为一个独立的工具来获得数据的分布情况,观察每个簇的特点,集中对特定的某些簇作进一步的分析。如:①聚类分析软件 v1.2。此软件主要用于血型、蛋白质多态、品种聚类等方面的统计分析,可自动进行杂合度、多态信息含量、遗传距离以及聚类的计算,并可自动画出聚类图。 ②SPSS统计软件。SPSS软件是一种专业的统计分析软件,用于数据的各种分析,从而最终为企、事业的科学决策服务。其中采用聚类分析是理想的多变量统 计技术,主要有分层聚类法和迭代聚类法。?
本文通过一组儿童生长发育的数据运用SPSS工具进行分析,如表2所示。?

运用SPSS工具调用K-means Cluster过程可完成由用户指定类别数的大样本资料的逐步聚类分析。逐步聚类分析就是先把被聚对象进行初始分类,然后逐步调整,得到最终分类。?
为研究儿童生长发育的分期,笔者对1 253名1月~7岁儿童进行了抽样调查,分别对儿童的身高(cm)、体重(kg)、胸围(cm)和坐高(cm)进行了测量。资料作如下整理:先把1月~7 岁划成19个月份段,分月份算出各指标的平均值,将第1月的各指标平均值与出生时的各指标平均值比较,求出月平均增长率(%),然后第2月起的各月份指标 平均值均与前一月比较,求出月平均增长率(%)(表2)。将儿童生长发育时期分为四期,所以聚类的类别数为4,从而确定四个儿童生长发育期的起止区间。?
①激活数据管理窗口,定义变量名。虽然月份分组不做分析变量,但为了更直观地了解聚类结果,也将之输入数据库。?
②进行统计分 析,在聚类方法上选择Iterate and classify指定初始类别中心点,按K-means算法作迭代分类。对聚类结果进行方差分析。  摘要:通过对聚类分析及其算法的论述,从多个方面对 这些算法性能进行比较,同时以儿童生长发育时期的数据为例通过聚类分析的软件和改进的K-means算法来进一步阐述聚类分析在数据挖掘中的实践应用。?
关键词:数据挖掘;聚类分析;数据库;聚类算法 ?

随着计算机硬件和软件技术的飞速发展,尤其是数据库技术的 普及,人们面临着日益扩张的数据海洋,原来的数据分析工具已无法有效地为决策者提供决策支持所需要的相关知识,从而形成一种独特的现象“丰富的数据,贫乏 的知识”。数据挖掘[1]又称为数据库中知识发现(Knowledge Discovery from Database,KDD),它是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的复杂过程。目的是在大量的数据中发现人们感兴趣的知 识。?
常用的数据挖掘技术包括关联分析、异类分析、分类与预测、聚类分析以及演化分析等。由于数据库中收集了大量的数据,聚类分析已经成为数据挖掘领域的重要技术之一。?

1问题的提出?

随着社会的发展和人们生活水平的提高,优育观念[2,3]逐渐***到每个家庭,小儿的生长发育越来越引起家长们的重视。中国每隔几年都要进行全国儿童营 养调查,然而用手工计算的方法在大量的数据中分析出其中的特点和规律,显然是不现实的,也是不可行的。为了有效地解决这个问题,数据挖掘技术——聚类分析 发挥了巨大的作用。?
在数据挖掘领域,聚类算法经常遇到一些问题如聚类初始点的选择[4]、模糊因子的确定[5]等,大部分均已得到解决。 现在的研究工作主要集中在为大型的数据库有效聚类分析寻找适当的方法、聚类算法对复杂分布数据和类别性数据聚类的有效性以及高维数据聚类技术等方面。本文 通过对聚类分析算法的分析并重点从聚类分析的软件工具和改进的K-means算法两个方面来论证聚类分析在儿童生长发育时期中的应用。?

2聚类算法分析?

聚类[6]分析是直接比较各事物之间的性质,将性质相近的归为一类,将性质差别较大的归入不同的类。在医学实践中也经常需要做分类工作,如根据病人的一 系列症状、体征和生化检查的结果,判断病人所患疾病的类型;或对一系列检查方法及其结果,将之划分成某几种方法适合用于甲类病的检查,另几种方法适合用于 乙类病的检查,等等。聚类分析被广泛研究了许多年。基于聚类分析的工具已经被加入到许多统计分析软件包或系统中,如S-Plus、SPSS,以及 SAS。?
大体上,聚类算法[7]可以划分为如下几类:?

(2)层次方法。该方法就是通过分解所给定的数据对象集来创建一个层次。它存在的缺陷就是在进行(组)分解或合并之后无法回溯。将循环再定位与层次方法结合起来使用常常是有效的,如BIRCH和CURE,就是基于这种组合方法设计的。?
(3)基于密度的方法。只要临近区域的密度(对象或数据点的数目)超过某个阈值,就继续聚类。DBSCAN是一个有代表性的基于密度的方法。它根据一个密度阈值来控制簇的增长。?
(4)基于网格的方法。基于网格方法将对象空间划分为有限数目的单元以形成网格结构。其主要优点是它的处理速度很快,其处理时间独立于数据对象的数目,只与量化空间中每一维的单元数目有关。STING 就是一个典型的基于网格的方法。?
(5)基于模型的方法。该方法就是为每个聚类假设一个模型,然后再去发现符合相应模型的数据对象。它根据标准统计方法并考虑到噪声或异常数据,可以自动确定聚类个数;因而它可以产生很鲁棒的聚类方法。?
数据挖掘在不同领域对聚类算法提出了各自特殊的要求,表1可以给聚类算法的研究和应用提供参考[7]。?

3儿童生长发育的分析?

聚类分析在数据挖掘中的应用主要有以下三个方面:?
(1)聚类分析能作为一个独立的工具来获得数据的分布情况,观察每个簇的特点,集中对特定的某些簇作进一步的分析。如:①聚类分析软件 v1.2。此软件主要用于血型、蛋白质多态、品种聚类等方面的统计分析,可自动进行杂合度、多态信息含量、遗传距离以及聚类的计算,并可自动画出聚类图。 ②SPSS统计软件。SPSS软件是一种专业的统计分析软件,用于数据的各种分析,从而最终为企、事业的科学决策服务。其中采用聚类分析是理想的多变量统 计技术,主要有分层聚类法和迭代聚类法。?
本文通过一组儿童生长发育的数据运用SPSS工具进行分析,如表2所示。?

运用SPSS工具调用K-means Cluster过程可完成由用户指定类别数的大样本资料的逐步聚类分析。逐步聚类分析就是先把被聚对象进行初始分类,然后逐步调整,得到最终分类。?
为研究儿童生长发育的分期,笔者对1 253名1月~7岁儿童进行了抽样调查,分别对儿童的身高(cm)、体重(kg)、胸围(cm)和坐高(cm)进行了测量。资料作如下整理:先把1月~7 岁划成19个月份段,分月份算出各指标的平均值,将第1月的各指标平均值与出生时的各指标平均值比较,求出月平均增长率(%),然后第2月起的各月份指标 平均值均与前一月比较,求出月平均增长率(%)(表2)。将儿童生长发育时期分为四期,所以聚类的类别数为4,从而确定四个儿童生长发育期的起止区间。?
①激活数据管理窗口,定义变量名。虽然月份分组不做分析变量,但为了更直观地了解聚类结果,也将之输入数据库。?
②进行统计分析,在聚类方法上选择Iterate and classify指定初始类别中心点,按K-means算法作迭代分类。对聚类结果进行方差分析。