- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学校的学生成绩进行聚类分析
1、背景
?????? 随着我国经济的发展,网络已被应用到各个行业,人们对网络带来的高效率越来越重视,然而大量数据信息给人们带来方便的同时,也随之带来了许多新问题,大量数据资源的背后隐藏着许多重要的信息,人们希望能对其进行更深入的分析,以便更好地利用这些数据,从中找出潜在的规律。那么,如何从大量的数据中提取并发现有用信息以提供决策的依据,已成为一个新的研究课题。
????? 目前普遍使用的成绩分析方法一般只能得到均值、方差等一类信息,且仅仅是从一门课程独立数据进行的分析,但在实际教学中,比如学生在学习某一门课程时,是哪一门或者几门课程对其影响很大,包括教学以外的哪些因素对学生成绩造成了较大的影响等各种有价值的信息往往无法获知。
2、聚类分析
?????? 在数据库中的知识发现和数据挖掘(KDDM)受到目前人工智能与数据库界的广泛重视。KDDM的目的是从海量的数据中提取人们感兴趣的、有价值的知识和重要的信息,聚类则是KDDM领域中的一个重要分支。所谓聚类是将物理或抽象的集合分组成为类似的对象组成的多个类的过程。
????? 聚类分析就是将一组数据分组,使其具有最大的组内相似性和最小的组间相似性。简单的说就是达到不同聚类中的数据尽可能不同,而同一聚类中的数据尽可能相似,它与分类不同,分类是对于目标数据库中存在哪些类这一信息是知道的,所要做的就是将每一条记录分别属于哪一类标记出来;而聚类是在预先不知道目标数据库到底有多少类的情况下,希望将所有的记录组成不同的簇或者说“聚类”,并且使得在这种分类情况下,以某种度量为标准的相似性,在同一聚类之间最小化,而在不同聚类之间最大化。事实上,聚类算法中很多算法的相似性都基于距离而且由于现实数据库中数据类型的多样性,关于如何度量两个含有非数值型字段的记录之间的距离的讨论有很多,并提出了相应的算法。聚类分析的算法可以分为以下几类:划分方法、层次方法、基于密度方法等。这里只描述一种:K-means算法,如下
3、K-means算法
???? K均值聚类,即数据挖掘中的C均值聚类,属于聚类分析方法中一种基本的且应用最广泛的划分算法。
???? K-means算法是J.B.MacQueen在1967年提出的,是聚类方法中一个基本的划分方法,也是目前诸多聚类算法中极有影响的一种技术。K-均值算法以k为参数,把N个对象分为k个簇,以使簇内具有较高的相似度。相似度的计算根据一个簇中对象的平均值来进行。
算法首先随机地选择K个对象,每个对象初始地代表了一个簇的平均值或中心。对剩余的每个对象根据其与各个簇中心的距离,将它赋给最近的簇。然后重新计算每个簇的平均值。这个过程不断重复,直到准则函数收敛。
K-Means算法的准则函数定义为:
即E是数据库所有对象的平方误差的总和。其中x是空间中的点,表示给定的数据对象,是簇的平均值。
K-means算法描述为:
输入:簇的数目k和包含n个对象的数据库
输出:k个簇,使平方误差准则最小
(1)assigninitial value for means;??
//任意选择k个对象作为初始的簇中心
(2)REPEAT
(3)FOR j=ito n DO assign each xj to the cluster which has the closest mean;
//根据簇中对象的平均值,将每个对象赋给最类似的簇
(4)FORi=1 to k DO
//更新簇的平均值,即计算每个对象簇中对象的平均值
(5)ComputeE;
//计算准则函数E
(6)UNTILE 不再明显地发生变化;
从上面的算法思想和算法框架,我们不难看出,K个初始聚类中心点的选取对聚类结果具有较大的影响,因为在该算法中是随机地选取任意K个点作为初始聚类中心。如果有先验知识,可以选取具有代表性的点作为初始中心点。在上面这个算法中,一次迭代中把每一个数据对象分到离它最近的聚类中心所在的类中,这个过程的时间复杂度为O(nkd),这里n指的是总的数据对象的个数,k是指定的聚类数也叫簇数,d是数据对象的维数;新的分类产生以后需要计算新的聚类中心,这个过程的时间复杂度为0(nd)。所以这个算法一次迭代需要的总的时间复杂度为O(nkd)。
4、数据准备与数据预处理
(1)聚类数据的预处理
现实世界中的数据库存在大量的噪声数据、空缺数据和不一致数据。基因表达数据也存在这种情况。有很多数据预处理技术可以去掉数据中的噪声,纠正不一致。为了提高涉及距离度量的聚类算法的精度和有效性,可以采用数据规范化的一些方法。
(2)数据清理
在实际数据库中往往存在着一些空缺值和噪音数据。对于空缺值,可以采用以下方法填写空缺值。
1)人工填写空缺值。这种方法对操作人员要求较高。并且,该方法很费时,当数据集很大时
原创力文档


文档评论(0)