《学校的学生成绩进行聚类分析(2020年8月整理).pdf》由会员分享,可在线阅读,更多相关《学校的学生成绩进行聚类分析(2020年8月整理).pdf(10页珍藏版)》请在金锄头文库上搜索。
1、一 寸 光 阴 不 可 轻 1 学校的学生成绩进行聚类分析 1、背景 随着我国经济的发展, 网络已被应用到各个行业, 人们对网络带来的高效率越来越重视, 然而大量数据信息给人们带来方便的同时, 也随之带来了许多新问题, 大量数据资源的背后 隐藏着许多重要的信息,人们希望能对其进行更深入的分析,以便更好地利用这些数据,从 中找出潜在的规律。那么,如何从大量的数据中提取并发现有用信息以提供决策的依据,已 成为一个新的研究课题。 目前普遍使用的成绩分析方法一般只能得到均值、方差等一类信息,且仅仅是从一门课 程独立数据进行的分析,但在实际教学中,比如学生在学习某一门课程时,是哪一门或者几 门课程对其影
2、响很大, 包括教学以外的哪些因素对学生成绩造成了较大的影响等各种有价值 的信息往往无法获知。 2、聚类分析 在数据库中的知识发现和数据挖掘 (KDDM) 受到目前人工智能与数据库界的广泛重视。 KDDM 的目的是从海量的数据中提取人们感兴趣的、有价值的知识和重要的信息,聚类则是 KDDM 领域中的一个重要分支。 所谓聚类是将物理或抽象的集合分组成为类似的对象组成的 多个类的过程。 聚类分析就是将一组数据分组,使其具有最大的组内相似性和最小的组间相似性。简单 的说就是达到不同聚类中的数据尽可能不同, 而同一聚类中的数据尽可能相似, 它与分类不 同, 分类是对于目标数据库中存在哪些类这一信息是知道
3、的, 所要做的就是将每一条记录分 别属于哪一类标记出来; 而聚类是在预先不知道目标数据库到底有多少类的情况下, 希望将 所有的记录组成不同的簇或者说“聚类” ,并且使得在这种分类情况下,以某种度量为标准 的相似性,在同一聚类之间最小化,而在不同聚类之间最大化。事实上,聚类算法中很多算 法的相似性都基于距离而且由于现实数据库中数据类型的多样性, 关于如何度量两个含有非 数值型字段的记录之间的距离的讨论有很多, 并提出了相应的算法。 聚类分析的算法可以分 为以下几类:划分方法、层次方法、基于密度方法等。这里只描述一种:K-means 算法,如 下 3、K-means 算法 K 均值聚类,即数据挖掘
4、中的 C 均值聚类,属于聚类分析方法中一种基本的且应用最广 泛的划分算法。 一 寸 光 阴 不 可 轻 2 K-means 算法是 J.B.MacQueen 在 1967 年提出的, 是聚类方法中一个基本的划分方法, 也 是目前诸多聚类算法中极有影响的一种技术。K-均值算法以 k 为参数,把 N 个对象分为 k 个 簇,以使簇内具有较高的相似度。相似度的计算根据一个簇中对象的平均值来进行。 算法首先随机地选择 K 个对象, 每个对象初始地代表了一个簇的平均值或中心。 对剩余的每 个对象根据其与各个簇中心的距离,将它赋给最近的簇。然后重新计算每个簇的平均值。这 个过程不断重复,直到准则函数收敛。
5、 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)FO
6、Ri=1 to k DO /更新簇的平均值,即计算每个对象簇中对象的平均值 (5)ComputeE; /计算准则函数 E (6)UNTILE 不再明显地发生变化; 一 寸 光 阴 不 可 轻 3 从上面的算法思想和算法框架,我们不难看出,K 个初始聚类中心点的选取对聚类结果具有 较大的影响, 因为在该算法中是随机地选取任意 K 个点作为初始聚类中心。 如果有先验知识, 可以选取具有代表性的点作为初始中心点。 在上面这个算法中, 一次迭代中把每一个数据对 象分到离它最近的聚类中心所在的类中, 这个过程的时间复杂度为 O(nkd), 这里 n 指的是总 的数据对象的个数,k 是指定的聚类数也叫簇数
7、,d 是数据对象的维数;新的分类产生以后 需要计算新的聚类中心,这个过程的时间复杂度为 0(nd)。所以这个算法一次迭代需要的总 的时间复杂度为 O(nkd)。 4、数据准备与数据预处理 (1)聚类数据的预处理 现实世界中的数据库存在大量的噪声数据、 空缺数据和不一致数据。 基因表达数据也存在这 种情况。有很多数据预处理技术可以去掉数据中的噪声,纠正不一致。为了提高涉及距离度 量的聚类算法的精度和有效性,可以采用数据规范化的一些方法。 (2)数据清理 在实际数据库中往往存在着一些空缺值和噪音数据。 对于空缺值, 可以采用以下方法填写空 缺值。 1)人工填写空缺值。这种方法对操作人员要求较高。并
8、且,该方法很费时,当数据集很大 时,该方法可能行不通。 2)使用该空缺值所在属性的平均值来填充。比如当进行样本聚类时,如果某个样本在某个 指标值上的值空缺,可使用其它样本在该指标上的平均值来填充该空缺值。对于噪声数据, 我们可以采用一些数据平滑技术来平滑数据。 3)数据规范化。如果数据库中的各属性的量纲和单位不同,在计算机对象间的距离之前, 必须把不同的度量单位统一成相同的度量单位。 由于属于不同概念范畴的属性具有不同的含 义, 把所有的属性转化成某个特定的度量单位是不可能的。 常用的方法是把属性的值域映射 为一个相同的区间(通常是0,1区间) ,这个过程成为属性的标准化或规范化。 准备 50
9、0 学生的成绩包含:数学、英语、语文、物理、化学、历史、地理等 5、RapidMiner 聚类分析 一 寸 光 阴 不 可 轻 4 分析流程:读取数据库-聚类分析-存储 csv 文件-结束 1、打开 RapidMiner 工具,进入白板界面 2、读取数据库:拖曳-左侧中的 Database-Read Database 标签,读取数据库,然后设置 数据库的基本条件,点击白板中的 Read Database,查看右侧信息 1)数据库连接条件:点击 Connection 右边的数据库连接配置按钮,输入相关信息如:数据 库名称、用户名、密码、Host 等,然后点击下方的测试一下连接是否成功。 一 寸
10、光 阴 不 可 轻 5 2)读取数据库中表以及相关属性数据配置:点击 query 右侧的图标,选择数据库下的表- 属性-以及条件,可以筛选出来对应的数据 一 寸 光 阴 不 可 轻 6 3、聚类算法:拖曳-左侧中的 Modeling-segmentation-K-Means 标签到白板中,聚类算 法插件,用于数据的聚类分析 1)配置聚类算法的参数:簇数、迭代次数等 4、存储文件:拖曳-左侧中的 Data Access-Files-Write 标签到白板中,存储文件插件, 一 寸 光 阴 不 可 轻 7 用于分析结果的存储 然后在右侧 csv file 配置存储路径 5、分析流程图-规划,通过连
11、接线连接整个的执行流程,并点击执行按钮 如图所示 6、执行结果 1)、分析具体结果数据 2)、统计数据:最大、最小、平均值、聚类 3)、聚类分析图 一 寸 光 阴 不 可 轻 8 一 寸 光 阴 不 可 轻 9 7、结果分析: 第一个图可以看出: 1)每科目的最低分、最高分、平均分等信息 2)聚类:三簇数据,每簇数据的学生个数 第二个图可以看出: 1)每科分值的分布情况,看出大部分学生的成绩分布在【70-80】之间,90 分以上的偏少 第三个图可以看出: 1)聚类按三簇进行聚类,也就是说分为了三类学生 2)cluster_0 结合第一个图有 378 个学生实例,从成绩上分析学习情况:地理成绩不及格; 语文、化学成绩偏差;物理、英语较好;数学最好 cluster_1 结合第一个图有 136 个学生实例, 从成绩上分析学习情况: 地理成绩不及格; 历史、 化学成绩偏差;语文较好;物理、英语、数学最好 cluster_2 结合第一个图有 26 个学生实例, 从成绩上分析学习情况: 地理成绩不及格; 历史、 化学成绩偏差;语文、数学、物理较好;英语最好 一 寸 光 阴 不 可 轻 10 因此, 根据分析的数据来看, 这三类的学生, 老师可以根据不同的情况, 进行分类着重辅导。