欢迎来到天天文库
浏览记录
ID:15881801
大小:107.50 KB
页数:10页
时间:2018-08-06
《直接聚类法的java代码实现及其应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、直接聚类法的java代码实现及其应用直接聚类法的java代码实现及其应用姓名:高雅班级:管信062班学号:40670277指导教师:张文新【摘要】聚类分析是通过数据建模简化数据的一种方法。直接聚类法是其中比较简单而且准确率较高的一种方法。本文将探讨直接聚类法的java代码实现,然后用此方法来分析中国城镇居民消费结构的差异。【关键字】直接聚类法java代码实现1.引言直接聚类法的基本原理是先把各个分类对象单独视为一类,然后根据距离最小的原则,依次选出一对分类对象,并成新类。如果其中一个分类对象已归于一类,则把另一个也归入该类;如果一对分类对象正好
2、属于已归的两类,则把这两类并为一类。每一次归并,都划去该对象所在的列与列序相同的行。经过m-1次就可以把全部分类对象归为一类,这样就可以根据归并的先后顺序作出聚类谱系图。直接聚类法由于简单易行且准确率较高被广泛应用于社会生活各个方面的有关分析。Java是一门面向对象的,跨平台的语言,由于其强大的生命力而被广泛应用于编程的各个方面。本文的直接聚类法将基于java语言开发,运行环境是JDK1.6.10版本。本文将探讨直接聚类法的基本思想和实现步骤,并给出每一步骤的java代码实现。最后通过一个城镇居民消费结构的差异化分析来展示该方法的应用。高雅第1
3、0页共9页直接聚类法的java代码实现及其应用2.直接聚类法的步骤及相应的java代码直接聚类法的基本原理在引言中已经给出,可以看出,其思想还是比较简单的。下面将详细介绍直接聚类法的实施步骤。关于聚类要素的数据处理和样本之间距离的计算有多种方法,本文的java代码实现仅选择其中的一种来实现,因此在相应的步骤中将会详细介绍java代码实现的处理方法,对于其他方法则点到为止。假设有m个聚类的对象,每一个聚类对象都有n个要素构成。则表示第i个样本的第j个要素所对应的数值,以下的均表此含义。2.1聚类要素的数据处理在聚类分析中,聚类要素的选择是十分重要
4、的,它直接影响分类结果的准确性和可靠性。在实际应用中,被聚类的对象常常是多个要素构成的。不同要素的数据往往具有不同的单位和量纲,其数值的变异可能是很大的,这就会对分类结果产生影响。因此当分类要素的对象确定之后,在进行聚类分析之前,首先要对聚类要素进行数据处理。数据处理的方法有很多种,主要包括总和标准化,标准差标准化,极大值标准化和极差标准化。本文的java代码实现采用极差标准化的方法。极差标准化的计算公式如下所示:(i=1,2,3,…m,j=1,2,…n)聚类要素数据处理的java代码实现://采用极差标准化方法将原始数据标准化,使得所有的数据
5、均转化为0-1之间的数值。publicdouble[][]getNormalization(double[][]data){for(inti=0;idata[j][i]){min=data[j][i];}}doubles=max-mi
6、n;for(intj=0;j7、度的指标。距离的计算方法主要有以下几种:绝对值距离,欧氏距离,明科夫斯基距离,切比雪夫距离。本文的java代码实现采用绝对值距离来计算各个样本之间的距离。高雅第10页共9页直接聚类法的java代码实现及其应用(i,j=1,2,3,…m)//用绝对值距离的方法获取初始各对象之间的距离publicdouble[][]getDistance(doublenormalization[][]){for(inti=0;i8、e[i][j]=0;for(intk=0;k
7、度的指标。距离的计算方法主要有以下几种:绝对值距离,欧氏距离,明科夫斯基距离,切比雪夫距离。本文的java代码实现采用绝对值距离来计算各个样本之间的距离。高雅第10页共9页直接聚类法的java代码实现及其应用(i,j=1,2,3,…m)//用绝对值距离的方法获取初始各对象之间的距离publicdouble[][]getDistance(doublenormalization[][]){for(inti=0;i8、e[i][j]=0;for(intk=0;k
8、e[i][j]=0;for(intk=0;k
此文档下载收益归作者所有