[0058] 图1本发明的整体预测流程图;
[0059] 图2本发明的学生学业成绩的具体获取流程图;
[0060] 图3本发明的学业成绩信息数据进行转换处理具体处理流程图;
[0061] 图4本发明的计算在不同类别下各属性的概率参数具体流程图;
[0062] 图5本发明的计算各个类别条件概率及先验概率之积的具体流程图。具体实施方式:
[0063] 下面结合附图对本发明进行详细说明:
[0064] 如图1所示,本发明的基于朴素贝叶斯模型的学生学业成绩预测方法包括以下主要步骤:
[0065] 步骤一:对学生数据进行收集,包括学生的学业成绩和学习行为信息;
[0066] 步骤二:对学生数据进行转换处理,得到规范的学生学习状况数据表;
[0067] 步骤三:由规范的学生学习状况数据表,构建基于朴素贝叶斯模型的学生学业成绩预测模型,学习预测模型的参数;
[0068] 步骤四:根据所获得的模型概率参数,利用朴素贝叶斯模型预测学生的学业成绩类别。
[0069] 利用本发明,可以根据学生的日常学习状况,预测学生的未来的学业成绩,能够便于高等院校加强对学生的教育管理。
[0070] 步骤一中,其中,学生的学业成绩可由教学管理系统数据库直接导出,其它学习行为信息等或者通过对学生开展调查问卷而得(也可借助于网络发放电子调查问卷)或者采用数据采集终端获取,优选的选用数据采集终端的方式获取,数据采集终端为计算机终端或者可移动设备,以学号作为学生的ID,每个学生均有且只有一个学号,每个学号下存在相应的一条数据记录,因为这样获取的数据能够避免调查问卷可能存在的造假而导致的失真数据的问题。
[0071] 当通过网络发放电子调查问卷获取数据时,电子调查问卷与学生的学号一一对应,将每个学生所填写的内容进行统一汇总并处理。
[0072] 对于其它学习行为信息可以包括:学生学习时间、按时上课情况、网上娱乐时间、图书馆使用频率、借阅图书类型、时间管理能力、学习能力、课外活动、教师指导情况、家庭指导情况、专业兴趣。
[0073] 例如,学生学习时间开始时,计算机开始计时,学生学习时间结束时,计算机计时结束,继而得到该学生的学习时间;
[0074] 按时上课情况,通过指纹识别的方式,每个学生在上课时进行指纹识别,没有进行指纹识别的学生则为缺课,通过这种方式获取学生的按时上课情况。
[0075] 网上娱乐时间的获取与学生学习时间的获取方式类似。
[0076] 图书馆使用频率、借阅图书类型可以通过学校的图书管理系统中的数据库服务器中获取,将图书管理系统中的数据库服务器中存储的数据传输至计算机中。
[0077] 时间管理能力、学习能力、课外活动、教师指导情况、家庭指导情况、专业兴趣等数据可以综合个人自我评价和教师、同学的他人评价而确定。
[0078] 各类学生信息的属性如表1所示。
[0079] 表1
[0080]
[0081]
[0082] 对于学业成绩信息,收集学生邻近两个学期的学业成绩和入学学业成绩情况,其中前一学期的学业成绩情况和入学学业成绩情况,将作为学生个体的历史学业成绩属性;后一学期的学业成绩情况将作为学生学业成绩的分类结果。各种学生学业成绩的具体获取步骤均如图2所示。根据学生的学号和学校的学生成绩数据库,从中提取出学生成绩数据和其所在班级的班级成绩表。
[0083] 步骤二中,对于学业成绩信息,包括学生邻近两个学期的学业成绩和入学学业成绩情况,此数据需要进行转换处理。具体处理流程如图3所示。
[0084] 对获得的班级成绩表,根据学生的考试科目数量,计算出学生的平均成绩,并按学生的平均成绩排序,输出班级名次表;并输出班级学生总数。
[0085] 根据班级名次表和学生成绩数据,查询学生的名次,并输出。
[0086] 根据学生名次和班级学生总数,判断学生名次在班级中的总体位置。如果属于前20%,则输出学生学业成绩等级为A;如果位于20%之后、40%之前,则输出学生学业成绩等级为B;如果位于40%之后、60%之前,则输出学生学业成绩等级为C;如果位于60%之后、
80%之前,则输出学生学业成绩等级为D;如果位于后20%,则输出学生学业成绩等级为E。
[0087] 将其它学习行为信息、转换后的学业成绩信息组合在一起,得到学生学习状况数据表。
[0088] 在本实施例中,假定得到如表2所示的学生学习状况数据表。
[0089] 表2
[0090]
[0091]
[0092] 步骤三中,由规范的学生学习状况数据表,构建基于朴素贝叶斯模型的学生学业成绩预测模型,学习预测模型的参数。
[0093] 为便于表述,本发明将表2中的字段“后一学期的学业成绩情况”记作C,其A、B、C、D、E五个类别分别记作C1、C2、C3、C4、C5;将表2中的其它13个字段,依次记作R1~R13。
[0094] 根据朴素贝叶斯模型,学生X的后一学期学业成绩的类别C可由公式(1)而预测。
[0095]
[0096] 在朴素贝叶斯模型中,属性被认为是相互条件独立的。因此,公式(1)中的P(X|Ci)可由公式(2)计算。
[0097] P(X|Ci)=P(x1|Ci)×P(x2|Ci)×......×P(xn|Ci) (2)
[0098] 为避免出现零概率的情况,本发明采用拉普拉斯算法对公式(1)和(2)中的概率进行平滑处理,如公式(3)和(3)所示。
[0099]
[0100]
[0101] 其中,λ取为0.1,K为学业成绩类别的数量,N为学生的总数;Count(xr|Ci)表示类别为Ci的样本中,第r个属性值为xr的学生的数量;Count(Ci)表示类别为Ci的学生的数量。
[0102] 以学生X为例,假定根据对X的数据进行转换处理后,其学习时间、按时上课情况、网上娱乐时间、图书馆使用频率、借阅图书类型、时间管理能力、学习能力、课外活动、教师指导情况、家庭指导情况、专业兴趣、前一学期的学业成绩情况、入学学业成绩情况分别为:4、C、2、<2、小说、差、一般、较好、一般、较好、有、C、B。
[0103] 为了对学生X的当前学期的学业成绩进行预测,需要首先根据学生学习状况数据表,学习基于朴素贝叶斯模型的学生学业成绩预测模型的各种概率参数。具体实施步骤如下所述。
[0104] 根据学生学习状况数据表,计算在不同类别下各属性的概率参数P(xr|Ci),并使用拉普拉斯算法进行平滑处理。具体实施流程如图4所示。
[0105] 遍历学生学习状况数据表,从中统计类别为Ci的学生的数量,输出Count(Ci)。
[0106] 遍历学生学习状况数据表,从中统计类别为Ci且第r个属性的属性值为xr的学生的数量,输出Count(xr|Ci)。
[0107] 遍历学生学习状况数据表,从中统计学生学业成绩类别的数量,输出数量值K。
[0108] 根据所得的Count(Ci)、所得的Count(xr|Ci)、所得的K,由公式(3)计算P(xr|Ci),并输出P(xr|Ci)。
[0109] 在本实施例中,根据表2,不同类别下各属性的概率参数P(xr|Ci)的计算结果如下:
[0110] 对于P(x1|C1),由Count(Ci=”A”)=4,由Count(R1=”4”|Ci=”A”)=1,由K=5,代入公式(3),可得:
[0111] P(x1|C1)=P(R1=”4”|Ci=”A”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0112] 同理可得,
[0113] P(x1|C2)=P(R1=”4”|Ci=”B”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0114] P(x1|C3)=P(R1=”4”|Ci=”C”)=(2+0.1)/(4+5*0.1)=2.1/4.5=0.467[0115] P(x1|C3)=P(R1=”4”|Ci=”D”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0116] P(x1|C5)=P(R1=”4”|Ci=”E”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0117] P(x2|C1)=P(R2=”C”|Ci=”A”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0118] P(x2|C2)=P(R2=”C”|Ci=”B”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0119] P(x2|C3)=P(R2=”C”|Ci=”C”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0120] P(x2|C4)=P(R2=”C”|Ci=”D”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0121] P(x2|C5)=P(R2=”C”|Ci=”E”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0122] P(x3|C1)=P(R3=”2”|Ci=”A”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0123] P(x3|C2)=P(R3=”2”|Ci=”B”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0124] P(x3|C3)=P(R3=”2”|Ci=”C”)=(3+0.1)/(4+5*0.1)=3.1/4.5=0.689[0125] P(x3|C4)=P(R3=”2”|Ci=”D”)=(2+0.1)/(4+5*0.1)=2.1/4.5=0.467[0126] P(x3|C5)=P(R3=”2”|Ci=”E”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0127] P(x4|C1)=P(R4=”<2”|Ci=”A”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0128] P(x4|C2)=P(R4=”<2”|Ci=”B”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0129] P(x4|C3)=P(R4=”<2”|Ci=”C”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0130] P(x4|C4)=P(R4=”<2”|Ci=”D”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0131] P(x4|C5)=P(R4=”<2”|Ci=”E”)=(3+0.1)/(4+5*0.1)=3.1/4.5=0.689[0132] P(x5|C1)=P(R5=”小说”|Ci=”A”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0133] P(x5|C2)=P(R5=”小说”|Ci=”B”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0134] P(x5|C3)=P(R5=”小说”|Ci=”C”)=(3+0.1)/(4+5*0.1)=3.1/4.5=0.689[0135] P(x5|C4)=P(R5=”小说”|Ci=”D”)=(2+0.1)/(4+5*0.1)=2.1/4.5=0.467[0136] P(x5|C5)=P(R5=”小说”|Ci=”E”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0137] P(x6|C1)=P(R6=”差”|Ci=”A”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0138] P(x6|C2)=P(R6=”差”|Ci=”B”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0139] P(x6|C3)=P(R6=”差”|Ci=”C”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0140] P(x6|C4)=P(R6=”差”|Ci=”D”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0141] P(x6|C5)=P(R6=”差”|Ci=”E”)=(3+0.1)/(4+5*0.1)=3.1/4.5=0.689[0142] P(x7|C1)=P(R7=”一般”|Ci=”A”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0143] P(x7|C2)=P(R7=”一般”|Ci=”B”)=(3+0.1)/(4+5*0.1)=3.1/4.5=0.689[0144] P(x7|C3)=P(R7=”一般”|Ci=”C”)=(2+0.1)/(4+5*0.1)=2.1/4.5=0.467[0145] P(x7|C4)=P(R7=”一般”|Ci=”D”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0146] P(x7|C5)=P(R7=”一般”|Ci=”E”)=(3+0.1)/(4+5*0.1)=3.1/4.5=0.689[0147] P(x8|C1)=P(R8=”较好”|Ci=”A”)=(2+0.1)/(4+5*0.1)=2.1/4.5=0.467[0148] P(x8|C2)=P(R8=”较好”|Ci=”B”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0149] P(x8|C3)=P(R8=”较好”|Ci=”C”)=(2+0.1)/(4+5*0.1)=2.1/4.5=0.467[0150] P(x8|C4)=P(R8=”较好”|Ci=”D”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0151] P(x8|C5)=P(R8=”较好”|Ci=”E”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0152] P(x9|C1)=P(R9=”一般”|Ci=”A”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0153] P(x9|C2)=P(R9=”一般”|Ci=”B”)=(2+0.1)/(4+5*0.1)=2.1/4.5=0.467[0154] P(x9|C3)=P(R9=”一般”|Ci=”C”)=(3+0.1)/(4+5*0.1)=3.1/4.5=0.689[0155] P(x9|C4)=P(R9=”一般”|Ci=”D”)=(2+0.1)/(4+5*0.1)=2.1/4.5=0.467[0156] P(x9|C5)=P(R9=”一般”|Ci=”E”)=(2+0.1)/(4+5*0.1)=2.1/4.5=0.467[0157] P(x10|C1)=P(R10=”较好”|Ci=”A”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0158] P(x10|C2)=P(R10=”较好”|Ci=”B”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0159] P(x10|C3)=P(R10=”较好”|Ci=”C”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0160] P(x10|C4)=P(R10=”较好”|Ci=”D”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0161] P(x10|C5)=P(R10=”较好”|Ci=”E”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0162] P(x11|C1)=P(R11=”有”|Ci=”A”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0163] P(x11|C2)=P(R11=”有”|Ci=”B”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0164] P(x11|C3)=P(R11=”有”|Ci=”C”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0165] P(x11|C4)=P(R11=”有”|Ci=”D”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0166] P(x11|C5)=P(R11=”有”|Ci=”E”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0167] P(x12|C1)=P(R12=”C”|Ci=”A”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0168] P(x12|C2)=P(R12=”C”|Ci=”B”)=(3+0.1)/(4+5*0.1)=3.1/4.5=0.689[0169] P(x12|C3)=P(R12=”C”|Ci=”C”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0170] P(x12|C4)=P(R12=”C”|Ci=”D”)=(0+0.1)/(4+5*0.1)=0.1/4.5=0.022[0171] P(x12|C5)=P(R12=”C”|Ci=”E”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0172] P(x13|C1)=P(R13=”B”|Ci=”A”)=(2+0.1)/(4+5*0.1)=2.1/4.5=0.467[0173] P(x13|C2)=P(R13=”B”|Ci=”B”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0174] P(x13|C3)=P(R13=”B”|Ci=”C”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0175] P(x13|C4)=P(R13=”B”|Ci=”D”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0176] P(x13|C5)=P(R13=”B”|Ci=”E”)=(1+0.1)/(4+5*0.1)=1.1/4.5=0.244[0177] 根据学生学习状况数据表,计算不同类别样本的概率参数P(Ci),并使用拉普拉斯算法进行平滑处理,具体实施流程如图4所示。
[0178] 遍历学生学习状况数据表,从中统计类别为Ci的学生的数量,输出Count(Ci)。
[0179] 遍历学生学习状况数据表,从中统计学生学业成绩类别的数量,输出数量值K。
[0180] 遍历学生学习状况数据表,从中统计学生的总数量,输出数量值N。
[0181] 根据所得的Count(Ci)、所得的K、所得的N,由公式(4)计算P(Ci),并输出P(Ci)。
[0182] 在本实施例中,根据表2,不同类别下各属性的P(Ci)的计算结果如下:
[0183] 对于P(C1),由Count(Ci=”A”)=4,由K=5,由N=20,代入公式(4)可得,P(C1)=P(Ci=”A”)=(4+0.1)/(20+5*0.1)=4.1/20.5=0.2
[0184] 同理,可得P(C2)、P(C3)、P(C4)、P(C5)均为0.2。
[0185] 步骤四、根据步骤三所获得的模型概率参数,利用朴素贝叶斯模型预测学生的学业成绩类别。
[0186] 由贝叶斯模型公式(1)可知,使P(X|Ci)P(Ci)取得最大值的类别Ci,即为学业成绩的预测结果。具体实施步骤如下所述。
[0187] 步骤4.1:根据步骤三所得的概率参数P(xr|Ci)、P(Ci),计算各个类别Ci的P(X|Ci)P(Ci)值。
[0188] 步骤4.1的具体实施流程如图5所示。
[0189] 首先对于学生样本X的每个属性xr,依次获得计算出的P(xr|Ci)值;而后,根据公式(2),将各个P(xr|Ci)相乘,得到P(X|Ci)值,并输出P(X|Ci)值。
[0190] 将计算而得的P(X|Ci)值与计算而得的P(Ci)值相乘,得到P(X|Ci)P(Ci)值,并输出P(X|Ci)P(Ci)值。
[0191] 在本实施例中,以学生X为例,说明本步骤的具体计算方法。
[0192] 对于类别C1,即“A”,P(X|C1)=P(x1|C1)×P(x2|C1)×……×P(x13|C1)=0.244×0.022×0.022×0.022×0.022×0.022×0.244×0.467×0.244×0.022×0.244×0.022×
0.467=1.9282E‑15;P(C1)=0.2;故P(X|C1)P(C1)=1.9282E‑15×0.2=3.8564E‑16。
[0193] 同理可得,
[0194] 对于类别C2,P(X|C2)P(C2)=[P(x1|C2)×P(x2|C2)×……×P(x13|C2)]×P(C2)[0195] =[0.244×0.022×0.244×0.022×0.022×0.022×0.689×0.244×0.467×0.022×0.244×0.689×0.244]×0.2
[0196] =1.97628E‑13
[0197] 对于类别C3,P(X|C3)P(C3)=[P(x1|C3)×P(x2|C3)×……×P(x13|C3)]×P(C3)[0198] =[0.467×0.022×0.689×0.022×0.689×0.022×0.467×0.467×0.689×0.244×0.022×0.022×0.244]×0.2
[0199] =2.04424E‑12
[0200] 对于类别C4,P(X|C4)P(C4)=[P(x1|C4)×P(x2|C4)×……×P(x13|C4)]×P(C4)[0201] =[0.022×0.244×0.467×0.244×0.467×0.022×0.244×0.022×0.467×0.022×0.022×0.022×0.244]×0.2
[0202] =8.18608E‑15
[0203] 对于类别C5,P(X|C5)P(C5)=[P(x1|C5)×P(x2|C5)×……×P(x13|C5)]×P(C5)[0204] =[0.244×0.244×0.022×0.689×0.244×0.689×0.689×0.244×0.467×0.022×0.022×0.244×0.244]×0.2
[0205] =6.86454E‑11
[0206] 步骤4.2:对比步骤4.1所获得的各个类别Ci所对应的P(X|Ci)P(Ci)值,将学生样本X的类别预测为具有最大P(X|Ci)P(Ci)值的Ci。
[0207] 在本实施例中,对比以上各类别的P(X|Ci)P(Ci)值,可知类别C5(“E”)的值最大。故学生样本X的当前学期的学业成绩将被预测为C5(“E”)。
[0208] 根据该学生样本的学业预测成绩,其学业成绩属于“E”类,即名次排名将在80%之后,显然应对该同学加强教育管理。辅导员可根据该预测结果,及时对该学生予以干预,对其批评教育,纠正其不良学习习惯,端正其学习态度,以避免该生的学业成绩出现严重问题。
[0209] 需要说明的是,本申请中的基于朴素贝叶斯模型的学生学业成绩预测方法及系统均是基于现有的计算机、服务器等硬件产品的基础上进行的,所得到的预测结果可以通过相应的显示单元进行显示。
[0210] 上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。