- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
直接聚类法的java代码实现及其应用.doc
直接聚类法的java代码实现及其应用
【摘要】
聚类分析是通过数据建模简化数据的一种方法。直接聚类法是其中比较简单而且准确率较高的一种方法。本文将探讨直接聚类法的java代码实现,然后用此方法来分析中国城镇居民消费结构的差异。
【关键字】 直接聚类法 java代码实现
1.引言
直接聚类法的基本原理是先把各个分类对象单独视为一类,然后根据距离最小的原则,依次选出一对分类对象,并成新类。如果其中一个分类对象已归于一类,则把另一个也归入该类;如果一对分类对象正好属于已归的两类,则把这两类并为一类。每一次归并,都划去该对象所在的列与列序相同的行。经过m-1次就可以把全部分类对象归为一类,这样就可以根据归并的先后顺序作出聚类谱系图。直接聚类法由于简单易行且准确率较高被广泛应用于社会生活各个方面的有关分析。
Java是一门面向对象的,跨平台的语言,由于其强大的生命力而被广泛应用于编程的各个方面。本文的直接聚类法将基于java语言开发,运行环境是JDK1.6.10版本。
本文将探讨直接聚类法的基本思想和实现步骤,并给出每一步骤的java代码实现。最后通过一个城镇居民消费结构的差异化分析来展示该方法的应用。
2.直接聚类法的步骤及相应的java代码
直接聚类法的基本原理在引言中已经给出,可以看出,其思想还是比较简单的。下面将详细介绍直接聚类法的实施步骤。关于聚类要素的数据处理和样本之间距离的计算有多种方法,本文的java代码实现仅选择其中的一种来实现,因此在相应的步骤中将会详细介绍java代码实现的处理方法,对于其他方法则点到为止。
假设有m 个聚类的对象,每一个聚类对象都有n个要素构成。则表示第i个样本的第j个要素所对应的数值,以下的均表此含义。
2.1聚类要素的数据处理
在聚类分析中,聚类要素的选择是十分重要的,它直接影响分类结果的准确性和可靠性。
在实际应用中,被聚类的对象常常是多个要素构成的。不同要素的数据往往具有不同的单位和量纲,其数值的变异可能是很大的,这就会对分类结果产生影响。因此当分类要素的对象确定之后,在进行聚类分析之前,首先要对聚类要素进行数据处理。
数据处理的方法有很多种,主要包括总和标准化,标准差标准化,极大值标准化和极差标准化。本文的java代码实现采用极差标准化的方法。
极差标准化的计算公式如下所示:
(i=1,2,3,…m, j=1,2,…n)
聚类要素数据处理的java代码实现:
// 采用极差标准化方法将原始数据标准化,使得所有的数据均转化为0-1之间的数值。
public double[][] getNormalization(double[][] data) {
for (int i = 0; i column; i++) { // i代表列
double max = data[0][i];
double min = data[0][i];
for (int j = 0; j row; j++) { // j代表行
if (max data[j][i]) {
max = data[j][i];
}
if (min data[j][i]) {
min = data[j][i];
}
}
double s = max - min;
for (int j = 0; j row; j++) {
normalization[j][i] = (data[j][i] - min) / s;
}
}
for (int i = 0; i normalization.length; i++) {
for (int j = 0; j normalization[i].length; j++) {
System.out.print(myformat.format(normalization[i][j]) + );
}
System.out.println();
}
return normalization;
}
2.2各样本间距离的计算
距离是用来测量两个样本之间差异度的指标。距离的计算方法主要有以下几种:绝对值距离,欧氏距离 ,明科夫斯基距离 ,切比雪夫距离。本文的java代码实现采用绝对值距离来计算各个样本之间的距离。
(i,j=1,2,3,…m)
// 用绝对值距离的方法获取初始各对象之间的距离
public double[][] getDistance(double normalization[][]) {
for (int i = 0; i row; i++) { // i代表diatance的行
for (int
您可能关注的文档
最近下载
- 基于“双高”背景下高职院校一流师资队伍建设的思考-来源:现代职业教育(高职高专)(第2020030期)-山西教育教辅传媒集团有限责任公司.pdf VIP
- DG_TJ08-2062-2017:住宅工程套内质量验收规范.pdf VIP
- 第二届全国数字化机房安装技能竞赛(电气设备安装工赛项)考试题库资料-下(多选、判断题汇总).pdf
- 北京-威旺M20-产品使用说明书-威旺M20 A12-BJ6443V4SMB-M20使用说明书V22015-01-29.pdf
- 春花秋月何时了G调正谱.pdf
- 急性心肌梗死及PCI术d 护理查房ppt课件.ppt
- 颅内压增高与治疗培训ppt课件.pptx VIP
- 公司关于“精益管理年”宣传工作的方案.pdf VIP
- 钻孔灌注桩试桩技术要求.docx
- 剑桥(join in)版三年级上册英语全册教学课件(配2024年秋改版教材).pptx
文档评论(0)