




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
莆 田 学 院毕 业 论 文题 目 基于数据挖掘的经济普查数据分析学生姓名 郑飞跃 学 号 510704339 专 业 计算机科学与技术 班 级 计算机2班 指导教师 黄海 二00九年四月二十一日目 录第1章 绪论(3)1.1 数据挖掘技术(3)1.2 研究问题分析(4)1.3 国内经济普查实践与数据分析现状(4)1.4 本文研究内容及方法(4)第2章 聚类分析算法(4)2.1 数据挖掘过程(4)2.2 聚类分析技术基础(5)2.3 数据挖掘对聚类的要求(5)2.4 聚类方法的分类(6)第3章 K均值算法(6)3.1 K均值算法思想(6)3.2 K均值算法流程(7)第4章 K均值算法在经普数据分析上的实现(7)4.1 数据的采集、预处理(7)4.2 算法演示(8)4.3 数据分析(8)第5章 K均值算法分析系统的设计(9)5.1 开发工具及运行环境简介(9)5.2 主界面(10)5.3 修改密码(11)5.4 运算模块(12)5.5 企业数据管理模块(20)5.6 退出登陆(26)5.7 下一步工作(26)第6章 结束语(26)第7章 致谢(26)参考文献(27) 郑飞跃 基于数据挖掘的经济普查数据分析基于数据挖掘的经济普查数据分析郑飞跃(电子信息工程学系 指导教师:黄海)摘要:随着全国第二次经济普查数据的上报,面对普查之后的海量数据,如何更好地利用这些数据资料,帮助国家在金融危机下制定更好的经济决策,成为目前社会各界关注的热点。将数据挖掘技术应用于经济普查数据的分析,可以找出隐含在数据中的更深层次的信息,对决策者制定决策是很有参考价值的。关键词:经济普查 数据挖掘 决策树算法 K-均值算法 Abstract: With the countrys second economic census data to report, in the face of the huge amount of data after the survey, how to make better use of these data to help countries in financial crisis to develop better economic decision-making, become the communitys concern about the hot spots. Data mining technology will be applied to the analysis of economic census data, can be found in the data implied a deeper level of information, decision-making for policy makers is a good reference.keywords: Economic Census Data Mining Decision Tree Algorithm K-means algorithm 第一章 绪论计算机技术的发展为工商企业、政府机构和教育科研单位实现信息的数字化处理提供了机遇,数据库和数据仓库已经广泛地应用于企业管理、产品的销售、科学计算和信息服务等领域。 数据收集工具的进步使我们拥有数量庞大的数据。虽然数据库系统可以高效地实现数据的录入、查询和统计等功能, 但缺乏挖掘数据背后隐藏的知识的手段, 难以发现数据中存在的关系和规则,无法预测未来的趋势。 而传统的数据分析方法已远远不能满足现实对于数据分析的需求, 数据的迅速增加与数据的分析处理方法滞后的矛盾越来越大, 从而导致了大量的数据成为数据丰富, 但信息贫乏的“数据坟墓”。 而数据挖掘技术(DataMining)正是解决这一课题的重要方法。权威的Gaxtoer调查报告显示,数据挖掘将是未来几年全球范围内重点投资研究的十大新技术之一,它引起了学术界和工业界的广泛关注,是当今数据库系统研究和应用领域内的一个热点问题。1.1 数据挖掘技术数据挖掘技术出现于20世纪80年代后期,90年代有了突飞猛进的发展,并在21世纪持续繁荣。还有很多和这一术语相近的术语,如数据库的知识发现(KDD)、数据分析、数据融合(Data Fusion)以及决策支持等。数据挖掘将数据库管理系统和人工智能中机器学习两种技术相结合,用数据库管理系统来存储数据,用机器学习的方法来分析数据,自发发现隐含在大量数据中的知识。它是一个萃取和展现新知识的流程。数据挖掘汇集了统计学、机器学习、数据库、模式识别、人工智能等学科的内容,是一门新兴的交叉学科。数据挖掘从一开始就是面向应用的,它不仅是面向特定数据库的简单查询调用,而且要对这些数据进行微观、宏观的统计,分析、综合和推理,以指导实际问题的求解,企图发现事件间的相互关联,甚至利用已有的数据对未来的活动进行预测。数据挖掘更强调的是从海量数据中发现隐含的知道和算法的可伸缩性,是一门很接近使用的技术。目前数据挖掘技术主要运用于商业、医学、科研领域,着眼于海量数据集存储、检索与处理,目标是帮助人们从繁冗复杂的数据中发现有价值的信息,从而挖掘出其潜在的价值,提高其利用率。1.2 研究问题分析 我国第二次经济普查自2008年12月31日正式启动以来,现在已基本完成普查数据的收集、处理与上报工作。本次经济普查是我国经济发展进入21世纪后进行的一项重大国情国力调查,是党中央、国务院为正确认识国情、准确把握国力、科学制定国策而采取的一项重要举措。也是在全球金融危机大背景下正确把握我国当前经济状况的重要渠道的。只有通过经济普查,才能比较准确地把握中国经济变化的规律和趋势,正确制定经济政策和社会经济发展规划,进一步控制经济增长,提高经济发展速度,促进经济和社会协调发展,推动可持续发展战略的实施。在这次经济普查中,从国民经济行业分类的具体构成来看,涉及到19个大的行业归类,875个行业小类。可以说这次经济普查提供的数据是非常完整的。面对普查之后的海量数据存储,国家更需要有力的数据分析工具以及方法将丰富的数据转换成有价值的知识,否则大量的数据将成为数据丰富,但信息贫乏的“数据坟墓”。 数据挖掘技术正是从大型数据库或数据仓库中提取有潜在应用价值的信息或模式,旨在帮助人们从海量数据中发现有价值的信息。如何从普查数据中及时发现有用的信息,从而挖掘出其潜在的价值,提高其利用率,是经济普查数据研究领域的一项重要课题。1.3 国内经济普查实践与数据分析现状事实上,经济普查的主要目的就是分析企业的财务信息,也就是财务数据挖掘。财务数据挖掘其实是一类深层次的财务数据分析方法。目前的经济普查系统可以高效地实现数据录入、查询和统计,但却无法发现数据中存在的关系和规则,无法根据现有的经普数据分析结果预测未来经济发展趋势。传统的财务分析只是停留在较浅层次的分析,比如:因素分析、比例分析、趋势分析等,对决策的帮助并不大,究其原因,正式缺乏有效的挖掘知识和手段,导致了“数据爆炸但知识贫乏”的现象。而随着数据库技术的迅速发展以及数据库系统的广泛应用,企业积累的数据越来越多,如自身业务运作的数据,资金运作的数据,对外投资的数据和整个市场相关行业状况的各种数据,激增的数据背后隐藏着许多重要的信息。这些数据不再是为了编制财务经济报表、分析财务状况而收集,分析这些数据也不再单纯为了了解企业各种状况,更主要的是为决策者提供真正有价值的信息,也可帮助企业提供竞争力,在这种情况下,数据挖掘技术就显得至关重要。1.4 本文研究内容及方法本文认真分析了数据挖掘的基本原理和一般方法,选择了合理的数据挖掘工具。通过将数据挖掘技术应用到经济普查的数据分析中去,实现经济普查数据的充分开发以及利用。同时在数据挖掘技术应用研究的过程中,利用全国经济普查数据,分析我市某区经济普查数据中若干企业的经济指标间关系,并对结果进行评价,为相关部门制定决策提供依据。第二章 聚类分析算法2.1数据挖掘过程在实施数据挖掘之前先制定采取什么样的步骤,每一步做什么,达到什么样的目标,是非常必要的。有了好的计划才能保证数据挖掘有条不紊的实施,并取得成功。现在,通用的数据挖掘是从数据集中识别出以模式来表示知识。它包含多个处理步骤,各个步骤之间互相影响并反复调整,形成一种螺旋上升的过程。其过程包括以下几个步骤:(1) 确定挖掘目标。了解应用领域和相关知识,从用户的观点出发确定数据挖掘的目标。这是实现数据挖掘的重要因素。相当于系统分析。这个过程要考虑的因素有:该领域的瓶颈是什么,目标是什么,挖掘模型的可理解性是否重要等。(2) 建立目标数据集。从现有的数据中,确定哪些数据是与本次数据分析任务相关的。根据挖掘目标从原始数据中选择相关数据集,并将不同数据源中的数据集中起来,在这一阶段需要解决数据挖掘平台,操作系统和数据源数据类型等不同所产生的数据格式差异。(3) 数据预处理。对选择数据,需要进行数据清洗工作,将数据变成干净的数据。目标数据集中不可避免的存在着不完整,不一致,不精确和冗余的数据,这些数据被称为“脏数据”。数据抽取之后通常采用基于规则的方法分析多数据源之间的关系,然后再对他们实施相应的处理。(4) 数据挖掘算法。使用合适的数据挖掘算法进行数据分析。首先确定实现数据挖掘目标的数据挖掘功能;其次选择合适的模式搜索算法。数据挖掘的算法包括决策树、神经网络、遗传算法等。(5) 挖掘结果的评价与解释。根据最终用户的决策目的对数据挖掘的结果进行评价,将有用的结果以可视化的技术提供给用户,让用户能够对模型结果做出解释,同事评价模型的有效性。2.2 聚类分析技术基础将物理或抽象对象的集合分组成为类似的对象组成的多个类或簇的过程被称为聚类,聚类是数据挖掘三大领域(关联规则,聚类,分类)之一。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。在血多应用中,可以将一个簇中的数据对象作为一个整体来对待。在商务上,聚类能帮助市场分析人员从客户基本库中发现不同的客户群,并且用购买模式来刻画不同客户群的特征;在生物上,聚类分析被用来动植物分类和对基因进行分类,获取对种群固有结构的认识 ;在保险行业上,聚类分析通过一个高的平均消费来鉴定汽车保险单持有者的分组,同时根据住宅类型,价值,地理位置来鉴定一个城市的房产分组。聚类也能用于对WEB上的文档进行分类,以发现信息。因为具有数据挖掘功能,聚类分析能作为一个独立的工具来获得数据分布情况,观察每个簇的特点,集中对某些特定的簇做进一步的分析。此外,聚类分析还可以作为其他算法(如特征化和分类等)的预处理步骤。这些算法再在生成的簇上进行处理。2.3 数据挖掘对聚类的要求聚类是一个富有挑战性的研究领域,它的潜在应用提出了各自特殊的要求数据挖掘对聚类的典型要求如下:1. 可伸缩性:可伸缩性是指算法不论对于小数据集还是对于大数据集,都应是有效的。很多聚类算法在小于200个数据对象的小数据集上工作的很好,而到了包含上千万个数据集对象的数据库工作时,将会有偏差的结果出现。因此,数据挖掘需要具有高度可伸缩性的聚类算法。2. 处理不同字段类型的能力:许多算法被设计用来聚类数值类型的数据。但是,应用可能要求聚类其他类型的数据。随着数据在商务、科学、医学和其他领域的应用越来越广泛,越来越需要能够处理不能字段类型的聚类算法。3. 能够发现任意形状的聚类:许多聚类算法是基于欧几里得距离来决定聚类。基于这样的距离度量算法趋向于发现具有相近尺度和密度的球状簇,但是簇可能是任意形状的。4. 用于决定输入参数的领域知识的最小化:由于聚类结果对输入参数的要求很敏感,但参数通常很难确定,特别是对于高维对象的数据来说。所以输入参数的质量直接影聚类的结果,这就加重了用户的负担。5. 处理噪声数据的能力:绝大多数数据集中存在很多孤立点、空缺、未知数据或错误数据。一些聚类算法对于这样的数据敏感,导致低质量聚类结果。6. 对输入数据的顺序不敏感:一些聚类算法对于输入数据的顺序是敏感的。对于同一个数据集合,以不同的顺序提交给同一个算法时,可能产生差别很大的聚类结果,这是我们不希望的。研究和开发对数据输入顺序不敏感的算法具有重要的意义。7. 高维性。一个数据库或是数据仓库可能只包含若干维,很多聚类算法只涉及两到三维。人类对于三维以内的数据有判断性,高于三维的数据聚类的挑战性很高,数据可能很稀疏,也可能高度偏斜。8. 基于约束的聚类。现实世界可能要在约束条件下进行聚类,这就要求既要满足客户特定的约束,又具有良好聚类特性的数据分组。9. 可理解行和可用性。用户希望聚类结果是可解释的,可理解的,并且是可用的。也就是,聚类与最后的应用相联系。应用目标对聚类方法的影响也是一个重要的课题。2.4 聚类方法的分类大体上,主要的聚类算法可以划分为如下几类: (1) 划分方法:给定一个包含n个对象或元组的数据库,一个划分方法构建数据的k个划分,每个划分表示一个聚簇,并且 kn 。通常算法中会采用一个划分准则(称为相似度函数),例如距离,以便在同一个簇中的对象是“相似”的,在不同簇中的对象是“相异”的。K均值算法是目前应用最广发的一种基于目标函数的划分聚类方法,一般都采用梯度法求解极值。由于梯度法的搜索方向总是沿着能量减少的方向进行,因此容易陷入局部极小值。当结果簇密集并且各簇之间的区别明显时,采用该算法效果比较好。(2) 层次的方法( hierarchical method ):层次的方法对给定数据对象集合进行层次的分解。根据层次的分解如何形成,层次的方法可以分为凝聚的和分裂的。凝聚的方法,也称为自底向上的方法,一开始将每个对象作为单独的一个组,然后相继地合并相近的对象或组,直到所有的组合并为一个(层次的最上层),或者达到一个终止条件。分裂的方法,也称为自顶向下的方法,一开始将所有的对象置于一个簇中。在迭代的每一步中,一个簇被分裂为更小的簇,直到最终每个对象在单独的一个簇中,或者达到一个终止条件。 (3) 基于密度的方法( density-based method ):绝大多数划分方法基于对象之间的距离进行聚类。这样的方法只能发现球状的簇,而在发现任意形状的簇上遇到了困难。随之提出了基于密度的另一类聚类方法,其主要思想是:只要临近区域的密度(对象或数据点的数目)超过某个阈值,就继续聚类。也就是说,对给定类中的每个数据点,在一个给定范围的区域中必须至少包含某个数目的点。这样的方法可以用来过滤“噪声”孤立点数据,发现任意形状的簇。 (4) 基于网格的方法( grid-based method ):基于网格的方法把对象空间量化为有限数目的单元,形成了一个网格结构。所有的聚类操作都在这个网格结构(即量化的空间)上进行。这种方法的主要优点是它的处理速度很快,其处理时间独立于数据对象的数目,只与量化空间中每一维的单元数目有关。 (5) 基于模型的方法( model-based method ):基于模型的方法为每个簇假定了一个模型,寻找数据对给定模型的最佳拟合。一个基于模型的算法可能通过构建反映数据点空间分布的密度函数来定位聚类。它也基于标准的统计数字自动决定聚类的数目,考虑“噪声”数据或孤立点,从而产生健壮的聚类方法。第三章 K均值算法3.1 K均值算法思想K均值算法属于聚类分析方法中一种基本的划分算法,是到目前为止用于科学和工业应用的诸多算法中一种极有影响力的技术。它是一种已知聚类类别数的聚类算法。指定类别数为K,对样本集合进行聚类,聚类的结果由K个聚类中心来表达,基于给定的聚类目标函数,算法采用迭代更新的方法,每一次迭代过程都是向目标函数值减小的方向进行,最终聚类的结果使目标函数值取得极小值,达到较优的聚类效果。下面说明这类算法的主要方法和特点:K均值算法:算法首先随机选取K个点作为初始聚类中心,然后计算各个数据对象到各聚类中心的距离,把数据对象归到离它最近的那个聚类中心所在类;对调整后的新类计算新的聚类中心,如果相邻两次的聚类中心没有任何变化,说明数据对象调整结束,聚类准则函数收敛。本算法的一个特点是在每次迭代中都要考察每个样本的分类是否正确,若不正确,就要调整。在全部数据调整完后,再修改聚类中心,进入下一次迭代。如果在一次迭代算法中,所有的数据对象被正确分类,则不会有调整,聚类中心也不会有任何变化,至此算法结束。3.1 K均值算法流程K均值算法框架如下:(1) 从数据集中随机选择K个对象作为初始簇中心,即初始均值;(2) Repeat;(3) 根据簇中对象的均值,将剩余的每个对象指派到最相似的簇;(4) 更新簇均值,即重新计算每个簇中对象的均值;(5) Until均值不再发生变化。我们不难看出,K个初始聚类中心点地选取对聚类结果具有较大的影响,因为在该算法中是随机地选取任意K个点作为初始聚类中心。如果有经验的话,可以选取具有代表性的点。例如;假设给定如下要进行聚类的元祖:2,4,10,12,3,20,30,11,25假设要求的簇的数量K=2应用K均值算饭:第一步:初始时用前个数值作为簇的质心,这两个簇的质心是:m1=1;m2=4;第二步:对剩余的每个对象,根据其与各个簇中心的距离,将它赋给最近的簇,可得:K1=2,3;K2=4,10,12,20,30,11,25;数值3与两个均值距离相等,所以任意的选择K1作为其所属的簇。第三步:计算新的质心m1=(2+3)/2=2.5;m2=(4+10+12+20+30+11+25)/7=16;重新对簇总成员进行分配可得K1=2,3,4和10,12,20,30,11,25,不断重复这个过程最终可得K1=2,3,4,10,11,12和K2=20,30,25。第四章 K均值算法在经普数据分析上的实现4.1 数据的采集、预处理美国注册会计师协会通过对大量的信贷者、投资者、财务分析人员以及投资顾问公司从业人员调查后,发表了改进企业报告-顾客导向的研究报告,认为信息使用者需要,而且企业能够提供信息的主要包括下面几个方面:(1) 财务与财务数据;(2) 企业管理人员对财务与非财务数据的分析结果;(3) 前瞻性信息(包括预测、决策和思路);(4) 关于企业股东和高层管理人员的信息;(5) 企业的背景资料。本文将从第一点出发,即企业的财务与财务数据入手,所用的数据来自我市某区的第二次经济普查数据中,选取10家建筑企业的财务报表-C603表为数据样本,假设经普数据挖掘结果将用于银行向这10家建筑企业提供贷款做参考为例,从企业的盈利能力、经营能力、偿债能力等三个方面选取了6个贷款时银行关注的指标作为数据分析的指标,利用聚类分析中的K-均值算法来对企业的经济效益进行研究分析。表4.1.1是经过数据预处理后的数据集:企业资产净利润率(%)固定资产利润率(%)总产值利润率率(%)成本费用利润率(%)资产负债率(%)盈利A12.267.5是B32.345.9是C0.843.1否D40.450.3是E25.012.711.212.948.2是F4.442.1否G6.059.6否H34.360.6是I35.612.516.422.846.8是J22.07.89.912.655.3是 (表4.1.1)4.2 算法演示为了方便结果的分析,这里我们选取企业总产值利润率和资产负债率作为数据集实验对象。选K=3,将数据集分为3个簇。第一步,任意选取三个数值作为初始簇均值,利用比较欧几里德距离(差的绝对值)作为函数收敛准则,根据剩余对象与初始簇均值的距离,将每个对象分布于最近的簇中。第二步,求出簇中各数值的平均值作为新的簇均值。如簇中数据为0.094,0.072.0.099,则新均值为(0.094+0.072+0.099)/3=0.088,继续比较欧几里德距离,重新指派各数值到最相似的簇。将选取的三个初始均值输入数据分析系统,可得表4.2.1(总产值利润率)、表4.2.2(资产负债率)。总产值利润率 a b c K1 K2 K3初始均值0.1130.0940.0560.113,640.094,0.082,0.0990.039,0.007,0.056,0.071更新均值0.1290.0880.0430.112,0.113,0.1640.094,0.099,0.082,0.0710.039,0.007,0.056 准则函数收敛 企业A,E,IB,D,H,JC,F,G表4.2.1(总产值利润率)资产负债率 a b c K1K2K3初始均值67.545.943.167.5,60.6,59.645.9,50.3,48.2,46.8,55.343.1,42.1更新均值62.549.342.667.5,60.6,59.650.3,48.2,46.8,55.345.9,43.1,42.1更新均值62.550.143.767.5,60.6,59.650.3,48.2,46.8,55.345.9,43.1,42.1 准则函数收敛企业A,H,GD,E,JI,B,C,F表4.2.2(资产负债率)4.3 数据分析K均值算法在本文中主要是对企业总产值率和资产负债率进行聚类分析,从而考察企业的经营状况。采取欧式距离进行聚类分析,类之间的距离采用差的绝对值便于数据的计算,为K均值算法在挖掘经普数据中的运用提供了可行性。企业总产值利润率是利润总额与企业总产值的比值,反映了企业获利能力。资产负债率是负债总额与资产总额之比,这一比率是企业偿债能力的核心指标。两个指标是银行给企业提供贷款时考察其经营状况,分析贷款规模以及经济风险的重要依据,从表二可以看出聚类后的三个企业集合:第一类企业集合A,E,I,总产值利润率为同类企业中较高,且固定资产利润率和成本费用利润率,与资产净利润率相比基本上趋于平衡,属于经营盈利能力较好的企业;第二类企业集合B,D,H,I资产净利润率较之第一类企业基本持平,但资产负债率偏高,其经营能力并没有很好体现出来,属于盈利能力一般的企业;第三类企业C,F,G总产值利润率明显偏低,与资产负债率相比严重不平衡,这类企业并不能保证实现盈利,随时可能面临经济风险。同时若银行向这几家企业提供贷款,参考此聚类结果,以总产值利润率8%作为考核企业盈利能力的标准,则A,E,I属于达标企业,B,D,H,I属于有风险企业,而C,F,G企业,银行则暂时不能向其提供贷款。也可以对表1进行类似结果分析。第五章 K均值算法分析系统的设计5.1 开发工具及运行环境简介环境要求操作系统(OS)Windows XP.net frameworkVersion1.1或更高开发工具VB.NET数据库SQLserver20005.2 主界面运行程序,首先进行登录,登录界面如图5.2.1所示。图5.2.1 系统登录界面生成的代码如下:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim pw As String If tb_password.Text = Then MsgBox(密码不能为空,请输入正确的密码,谢谢!, MsgBoxStyle.OKOnly, 警告) Else Dim comm_pw As New OleDbCommand comm_pw.Connection = conn1 comm_pw.CommandText = select 密码 from 密码表 Try conn1.Open() pw = comm_pw.ExecuteScalar If tb_password.Text = pw Then Button2.Visible = True Button3.Visible = True Button4.Visible = True Button5.Visible = True Button1.Visible = False Label1.Text = 管理员登陆成功! Else Label1.Text = 密码错误! tb_password.Text = End If Catch ex As Exception MsgBox(ex.Message) Finally conn1.Close() End Try End If tb_password.Text = End Sub登录成功后,系统开始运行,首先进入主界面,如图5.2.2所示。图5.2.2 系统主界面系统主界面主要由三个功能模块组成,分别是:运算模块;数据管理模块;密码修改模块。5.3 修改密码修改密码模块用于修改当前用户的密码,其窗体设计界面如图5.4.1所示。在修改密码窗体中,点击修改密码后,必须输入要修改的新密码,否则提示“密码不能为空,请重新输入”。 生成的代码如下:Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim pwd As String Dim comm_p As New OleDbCommand comm_p.Connection = conn1 pwd = InputBox(请在下面的文本框中输入新的密码, 修改密码, ) 获取密码的对话框 If pwd Then 判断密码是否为空 comm_p.CommandText = update 密码表 set 密码= + pwd + Try conn1.Open() comm_p.ExecuteNonQuery() MsgBox(密码修改成功!) Catch ex As Exception MsgBox(ex.Message) Finally conn1.Close() End Try Else MsgBox(密码不能为空,请重新输入!, MsgBoxStyle.OKOnly, 提示) End If End Sub5.5 运算模块运算模块是本系统的一个重要环节,运算模块的界面如图5.5.1所示:图5.5.1运算模块主要是对K均值算法的实现,A1,B1,C1三个文本框用来输入随机选取的三个初始均值,对比数据输入框用来输入剩下的对象值。输入一个对象值,再点击【运算】按钮,系统会自动将该对象值指派到最相似的簇,并在A组,B组,C组三个文本框中显示出来。再点击【平均值】按钮,可以求出每个簇中的新均值,并在A2,B2,C2文本框中显示出来,如此重复计算,直到均值不再发生变化,最后聚类分组的三个簇将在A2,B2,C2中显示出来。生成的主要代码如下:Dim a() As Double = 0, 0, 0, 0, 0 Dim b() As Double = 0, 0, 0, 0, 0 Dim c() As Double = 0, 0, 0, 0, 0 Dim a11() As Double = 0, 0, 0, 0, 0, 0, 0, 0, 0 Dim b11() As Double = 0, 0, 0, 0, 0, 0, 0, 0, 0 Dim c11() As Double = 0, 0, 0, 0, 0, 0, 0, 0, 0 Dim aa, bb, cc As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Button3.Visible = False Button4.Visible = False Button5.Visible = False Button2.Visible = False End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim num_in, a1, b1, c1, d1, d2, d3 As Double num_in = t4.Text a1 = t1.Text b1 = t2.Text c1 = t3.Text If num_in 0 And a1 0 And b1 0 And c1 0 Then d1 = Math.Abs(num_in - a1) d2 = Math.Abs(num_in - b1) d3 = Math.Abs(num_in - c1) If d1 d2 Then If d1 d3 Then TextBox3.Text += num_in.ToString + c(cc) = num_in cc = cc + 1 Else TextBox2.Text += num_in.ToString + b(bb) = num_in bb = bb + 1 End If Button3.Visible = True Else MsgBox(初始数据不得为空!) End If End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim i, m, n As Integer Dim sum_a, sum_b, sum_c As Double For i = 0 To a.Length - 1 sum_a = sum_a + a(i) Next i For m = 0 To b.Length - 1 sum_b = sum_b + b(m) Next m For n = 0 To c.Length - 1 sum_c = sum_c + c(n) Next n TextBox4.Text = sum_a / aa TextBox5.Text = sum_b / bb TextBox6.Text =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 输液反应处理流程
- 移动互联网流量经营平台创新创业项目商业计划书
- 农副食品品牌文化展览与展示创新创业项目商业计划书
- 2025年广西钦州港经济技术开发区中学招聘教师考试笔试试题(含答案)
- 渔业金融服务创新创业项目商业计划书
- 2025年东莞市沙田镇第一小学招聘教师考试笔试试题(含答案)
- 2025年广播媒体融合传播效果与传播效果评价体系优化策略
- 2025年广播媒体融合转型中的新媒体运营与推广策略报告
- 2025年海洋生态保护与修复政策对海洋生态环境恢复力提升报告
- 2025年工业互联网平台边缘计算硬件架构产业技术发展趋势报告
- 2025海南省老干部服务管理中心招聘事业编制人员6人(第1号)考试备考题库及答案解析
- 2025年内江市总工会公开招聘工会社会工作者(14人)笔试模拟试题及答案解析
- 2025云南辅警笔试题目及答案
- 2025四川内江市总工会招聘工会社会工作者14人笔试备考试题及答案解析
- 2025-2026学年湘教版(2024)初中数学八年级上册教学计划及进度表
- 2025至2030中国公安行业发展趋势分析与未来投资战略咨询研究报告
- 2025年三支扶陕西试题及答案
- 新生儿持续性肺动脉高压个案护理
- bbc国际音标教学课件
- GB/T 45763-2025精细陶瓷陶瓷薄板室温弯曲强度试验方法三点弯曲或四点弯曲法
- 2025年新修订《治安管理处罚法》
评论
0/150
提交评论