聚类分析不同学生对于不同考试的成绩表现 |
您所在的位置:网站首页 › 数学建模聚类算法实验报告 › 聚类分析不同学生对于不同考试的成绩表现 |
实验目的与要求
目的: 使用学习成绩、课外实践活动等数据对学生群体进行聚类分析。我们建立了学生与必修考试成绩一一对应的二维矩阵,聚类分析不同学生对于不同考试的成绩表现。 流程: 首先,应对原有数据进行标准化。 其次,建立相应的模糊相似矩阵,并由此得到模糊等价矩阵。 最终,对其进行聚类。
图1 流程图 实验软件环境 MatlabvR2016b 用于聚类分析 Visual Studio 2019 企业版 v16.0.3 用于数据预处理 MySQL 5.7.22,用于数据抽取与存储 数据整理我们建立了以学号为列,各科目为行的矩阵。 考虑到同学选课情况不尽相同,对于同样一节课,有的同学选了,有的却没选。这导致矩阵数据很难对齐,于是我们将同学没选科目的成绩设置为0。 矩阵如下:行选择某学生,列选择某科目
图2 实验矩阵 标准化数据为建立模糊相似矩阵,我们首先应对原始数据进行标准化。 设论域 平移-标准差变换的公式如下所示,
其中,
图3 平移-标准差变换结果图 MATLAB代码实现本文使用MATLAB R2019a(9.6.0.1072779) 64-bit(win64)完成所有实验。所使用的操作系统为,Windows 10 Pro for Workstations。在本文中,如未明确指明,则使用的环境皆为上述所示。 本文主要使用如下代码完成原始数据的标准化。 function[X]=F_Normalize(cs,X) if(cs==0)return;end [n,m]=size(X); if(cs==1) for(k=1:m)xk=0; for(i=1:n)xk=xk+X(i,k);end xk=xk/n;sk=0; for(i=1:n)sk=sk+(X(i,k)-xk)^2;end sk=sqrt(sk/n); for(i=1:n)X(i,k)=(X(i,k)-xk)/sk;end end elseif(cs==2) for(k=1:m)xmin=X(1,k);xmax=X(1,k); for(i=1:n) if(xmin>X(i,k))xmin=X(i,k);end if(xmax |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |