学校的学生成绩进行聚类分析.docx
《学校的学生成绩进行聚类分析.docx》由会员分享,可在线阅读,更多相关《学校的学生成绩进行聚类分析.docx(12页珍藏版)》请在冰豆网上搜索。
学校的学生成绩进行聚类分析
学校的学生成绩进行聚类分析
1、背景
随着我国经济的发展,网络已被应用到各个行业,人们对网络带来的高效率越来越重视,
然而大量数据信息给人们带来方便的同时,也随之带来了许多新问题,大量数据资源的背后
隐藏着许多重要的信息,人们希望能对其进行更深入的分析,以便更好地利用这些数据,从
中找出潜在的规律.那么,如何从大量的数据中提取并发现有用信息以提供决策的依据,已
成为一个新的研究课题。
目前普遍使用的成绩分析方法一般只能得到均值、方差等一类信息,且仅仅是从一门课程独立数据进行的分析,但在实际教学中,比如学生在学习某一门课程时,是哪一门或者几
门课程对其影响很大,包括教学以外的哪些因素对学生成绩造成了较大的影响等各种有价值的信息往往无法获知。
2、聚类分析
在数据库中的知识发现和数据挖掘(KDDM)受到目前人工智能与数据库界的广泛重视。
KDDM的目的是从海量的数据中提取人们感兴趣的、有价值的知识和重要的信息,聚类则是
KDDM领域中的一个重要分支。
所谓聚类是将物理或抽象的集合分组成为类似的对象组成的多个类的过程。
聚类分析就是将一组数据分组,使其具有最大的组内相似性和最小的组间相似性。
简单的说就是达到不同聚类中的数据尽可能不同,而同一聚类中的数据尽可能相似,它与分类不
同,分类是对于目标数据库中存在哪些类这一信息是知道的,所要做的就是将每一条记录分
别属于哪一类标记出来;而聚类是在预先不知道目标数据库到底有多少类的情况下,希望将
所有的记录组成不同的簇或者说“聚类”,并且使得在这种分类情况下,以某种度量为标准
的相似性,在同一聚类之间最小化,而在不同聚类之间最大化.事实上,聚类算法中很多算法的相似性都基于距离而且由于现实数据库中数据类型的多样性,关于如何度量两个含有非
数值型字段的记录之间的距离的讨论有很多,并提出了相应的算法.聚类分析的算法可以分
为以下几类:
划分方法、层次方法、基于密度方法等。
这里只描述一种:
K—means算法,如
下
3、K—means算法
K均值聚类,即数据挖掘中的C均值聚类,属于聚类分析方法中一种基本的且应用最广泛的划分算法。
t2
e=∑∑l者
K-means算法是JBMaCQUeen在1967年提出的,是聚类方法中一个基本的划分方法,也是目前诸多聚类算法中极有影响的一种技术。
K-均值算法以k为参数,把N个对象分为k个
簇,以使簇内具有较高的相似度。
相似度的计算根据一个簇中对象的平均值来进行。
算法首先随机地选择K个对象,每个对象初始地代表了一个簇的平均值或中心。
对剩余的每
个对象根据其与各个簇中心的距离,将它赋给最近的簇。
然后重新计算每个簇的平均值。
这个过程不断重复,直到准则函数收敛。
K—Means算法的准则函数定义为:
即E是数据库所有对象的平方误差的总和。
其中X是空间中的点,表示给定的数据对象,是
簇的平均值。
K—means算法描述为:
输入:
簇的数目k和包含n个对象的数据库
输出:
k个簇,使平方误差准则最小
(1)assigninitialvalueformeans;
//任意选择k个对象作为初始的簇中心
(2)REPEAT
(3)FoRj=itonDOassigneachXjtotheCIUSterWhiChhastheclosestmean;
//根据簇中对象的平均值,将每个对象赋给最类似的簇
(4)FORi=ItokDO
⅛=∑⅛l
//更新簇的平均值,即计算每个对象簇中对象的平均值
(5)COmPUteE;//计算准则函数E
(6)UNTILE不再明显地发生变化;
从上面的算法思想和算法框架,我们不难看出,K个初始聚类中心点的选取对聚类结果具有
较大的影响,因为在该算法中是随机地选取任意K个点作为初始聚类中心.如果有先验知识,
可以选取具有代表性的点作为初始中心点。
在上面这个算法中,一次迭代中把每一个数据对
象分到离它最近的聚类中心所在的类中,这个过程的时间复杂度为0(nkd),这里n指的是总
的数据对象的个数,k是指定的聚类数也叫簇数,d是数据对象的维数;新的分类产生以后
需要计算新的聚类中心,这个过程的时间复杂度为0(nd)。
所以这个算法一次迭代需要的总
的时间复杂度为0(nkd)。
4、数据准备与数据预处理
(1)聚类数据的预处理
现实世界中的数据库存在大量的噪声数据、空缺数据和不一致数据.基因表达数据也存在这种情况。
有很多数据预处理技术可以去掉数据中的噪声,纠正不一致.为了提高涉及距离度量的聚类算法的精度和有效性,可以采用数据规范化的一些方法。
(2)数据清理
在实际数据库中往往存在着一些空缺值和噪音数据。
对于空缺值,可以采用以下方法填写空
缺值.
1)人工填写空缺值。
这种方法对操作人员要求较高.并且,该方法很费时,当数据集很大时,该方法可能行不通.
2)使用该空缺值所在属性的平均值来填充。
比如当进行样本聚类时,如果某个样本在某个指标值上的值空缺,可使用其它样本在该指标上的平均值来填充该空缺值。
对于噪声数据,我们可以采用一些数据平滑技术来平滑数据。
3)数据规范化。
如果数据库中的各属性的量纲和单位不同,在计算机对象间的距离之前,必须把不同的度量单位统一成相同的度量单位。
由于属于不同概念范畴的属性具有不同的含
义,把所有的属性转化成某个特定的度量单位是不可能的.常用的方法是把属性的值域映射
为一个相同的区间(通常是[0,1]区间),这个过程成为属性的标准化或规范化。
准备500学生的成绩包含:
数学、英语、语文、物理、化学、历史、地理等
丈件⅛⅛碩*自L⅛K
⅛i1;帖^τkewξ,7奁算
<7TTJTMW
idname-
math
DrgIiISh
ClhlneSe
ClhefniStr)Il
PhylSictherapyh∣st&dcaI
g⅝c∣g—*aρ∣h∣c
1⅛≡
酣
ZB
75
@1
57
2⅛≡
67
75
67
B6
朋
3足
Θ5
貂
66
75
45
d誰三
611
44
Qqi
67
5張二
56
76
S5
91
⅛6
67
66
5、RaPidMiner聚类分析
分析流程:
读取数据库—--—>聚类分析—-——>存储CSV文件-—-—>结束1、打开RaPidMiner工具,进入白板界面
4>l>1CCaħ⅛v4fe∆⅞AflTl⅛⅛dk⅛≡⅜UliΓιfp⅛T1Hilif!
fl⅛”C’⅛
CdrJUPeaaal匚T匚归临AftrlBkΓ⅛⅛ιιia,ι⅛
C≡H*
⅞i,n∣M⅛∣ι*l〈<
2、读取数据库:
拖曳-—-左侧中的DatabaSe-——>ReadDatabaSe标签,读取数据库,然后设置数据库的基本条件,点击白板中的ReadDatabase,查看右侧信息1)数据库连接条件:
点击Connection右边的数据库连接配置按钮,输入相关信息如:
数据库名称、用户名、密码、HoSt等,然后点击下方的测试一下连接是否成功。
IJManagIeDatabaseCorrtc,ztio∏!
Ξ
lΛτr∣lrth≤E2loQγc∣utanorpj∣e,editandI^I凯PCClnneCiOr^tDdolab3Gβs。
l⅜BMildlSQlQUer^Wry
SWBfl
SQLagry
〉LLtCT'fi・Vi”j,ehgllλ⅞a,r,ChinCa-τiλi,⅞τ⅛rBpynP'H1LitcrlKtlLJ
IFHnPIVSrHarr'1
3、聚类算法:
拖曳——-左侧中的Modeling—-—〉segmentation—-->K—Means标签到白板中,聚类算法插件,用于数据的聚类分析
1)配置聚类算法的参数:
簇数、迭代次数等
NCPladħ⅞ιρ?
■
ParBmBIlflinl
国ICIUSlefIlIQs)
IX
√2tMdugtoIIlITlbUtP
rsrr∣α⅛⅛u∏l⅞bf∣⅞hd
氐3■£
Hi盘ErLanE10
der—=rmi∏∈—good!
≡1aftvαue≡
m⅝4⅞ur⅞t]φn⅞BngminDiviirgfTIr
ClhllefOefICeSfluaredEyciidiee..TG
ma⅛oH∣miZ3lto∏steps1∞G
咛∣⅛cfl*f⅛⅛πeSeed,
4、存储文件:
拖曳———左侧中的DataACCeSS--—〉Files——->Write标签到白板中,存储文件插件,
用于分析结果的存储然后在右侧CSVfile配置存储路径
⅛μnPiiidHIMH
Ji*Wf∙tl⅛
⅛p^⅛n<∣ii
uUιn*i⅛u⅛riLι
E⅜⅝∙ffll
XmEc3«
丄⅛W⅛RW
—MiJ(H^F
√*⅛i⅝⅛⅛rt⅛MW
rfb—∏MMBak^±LM3
IpPaHa⅛⅞f
4mw⅞号rτ⅞.
*f⅛WTBW*i^lfc⅛*⅛*≡⅛⅛f⅛⅛i⅛κ⅛
5、分析流程图---规划,通过连接线连接整个的执行流程,并点击执行按钮
如图所示
6、执行结果
1)、分析具体结果数据
2)、统计数据:
最大、最小、平均值、聚类3)、聚类分析图
is—χnuΛtcf6Jj∙u□
6⅞βM0
SotSIaS
duτsι∏
∣∙ι∙o<>eq)l∙S∙t〈1∙〈*x)I
⅞U4〉K⅛
⅛⅜⅛XAiNlrtplt
e
CIAUAr
V
44⅞⅛Eif
dhι∕b
r⅛
r∏a∣f⅞fftfi∣ħ
ChWMt曲Ei的
PhFllHI⅛*≠ΓflPħPftiriCtf^F-SBWrIid
日U^Hl
⅜H1ΔU∣j□Γe;
•n≠h
14⅞t
IaU
TQQcl
S7≡”
99»—
®£
Mfi
〈?
$■
闻■
425—
9df
TTS—
料Q
Γ3S—
ra»
E
IME■
S33-∙
Mr
4?
t
Mt
f]f.
冀。
4?
S-
■苗F∙hιfiiι'⅛”5AAIllr■■M”⅜(f⅞⅞fa'
⅛W‰Q1⅛tt*JIMfrJl
W⅞l⅝≡ri
fci8*n∣NM■■De
—B⅛*wt
►。
Eq
Pi∙∣LoEREIiCIWd
7、结果分析:
第一个图可以看出:
1)每科目的最低分、最高分、平均分等信息
2)聚类:
三簇数据,每簇数据的学生个数
第二个图可以看出:
1)每科分值的分布情况,看出大部分学生的成绩分布在【70—80】之间,90分以上的偏少
第三个图可以看出:
1)聚类按三簇进行聚类,也就是说分为了三类学生
2)CIUSter_0结合第一个图有378个学生实例,从成绩上分析学习情况:
地理成绩不及格;语文、化学成绩偏差;物理、英语较好;数学最好
CIUSter_1结合第一个图有136个学生实例,从成绩上分析学习情况:
地理成绩不及格;历史、化学成绩偏差;语文较好;物理、英语、数学最好
CIUSter_2结合第一个图有26个学生实例,从成绩上分析学习情况:
地理成绩不及格;历史、
化学成绩偏差;语文、数学、物理较好;英语最好
进行分类着重辅导。
因此,根据分析的数据来看,这三类的学生,老师可以根据不同的情况,