利索能及
我要发布
收藏
专利号: 2017106275586
申请人: 淮阴工学院
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于Lasso回归的学生班级成绩排名预测方法,其特征在于,包括如下步骤:

步骤一:对学生成绩数据集进行数据预处理,使用Pearson correlation-based similarity对两个年级之间相同专业方向的学生成绩进行匹配,得出学生班级成绩排名匹配数据集;

步骤二:对学生成绩数据集进行数据预处理并通过Lasso回归对预处理后的数据集进行预测处理,得到学生班级成绩排名数据集;

步骤三:对学生班级成绩排名数据集和学生班级成绩排名匹配数据集进行加权值处理,得到最终学生班级成绩排名预测数据结果集。

2.根据权利要求1所述的一种基于Lasso回归的学生班级成绩排名预测方法,其特征在于,所述步骤一中使用Pearson correlation-based similarity对两个年级之间相同专业方向的学生成绩进行匹配的具体步骤如下:步骤1.1:对学生成绩进行预处理,将学生成绩数据按照年级、班级和学生次序依次整理,并对学生成绩进行等第归类,等第分为:优秀、良好、中等、及格和不及格,分别统计学生各个等第在取得的成绩中所占比重;

步骤1.2:使用Pearson correlation-based similarity,对两个年级之间相同专业方向的学生成绩进行匹配,得到与待求班级成绩排名匹配数据的学生最相似的高年级学生班级成绩排名;

步骤1.3:根据待求班级成绩排名匹配数据的学生最相似的高年级学生班级成绩排名,得到学生班级成绩排名匹配数据集。

3.根据权利要求1所述的一种基于Lasso回归的学生班级成绩排名预测方法,其特征在于,所述步骤二中使用Lasso回归对预处理后的数据集进行预测处理的具体步骤如下:步骤2.1:对学生成绩数据进行预处理,将学生成绩处理为按学号、取得成绩中的学期学分最高成绩数据集和取得的学期班级成绩排名数据集所组成的新的数据集;

步骤2.2:计算取得成绩中的学期学分最高成绩的平均成绩,使用Lasso回归,以学生的学期学分最高成绩数据集和取得的学期班级成绩排名数据集所组成的新的数据集为训练数据集,基于学生取得成绩中的学期学分最高成绩的平均成绩,得到学生班级成绩排名数据集。

4.根据权利要求1所述的一种基于Lasso回归的学生班级成绩排名预测方法,其特征在于,所述步骤三中对学生班级成绩排名数据集和学生班级成绩排名匹配数据集进行加权值处理的具体步骤如下:步骤3.1:定义最终学生班级成绩排名预测数据结果集,加权值为WV;

步骤3.2:通过对学生班级成绩排名匹配数据集和学生班级成绩排名数据集进行加权值处理,得到最终学生班级成绩排名预测数据结果集。

5.根据权利要求4所述的一种基于Lasso回归的学生班级成绩排名预测方法,其特征在于,所述步骤3.1中加权值WV取值为0.5。

6.根据权利要求1所述的一种基于Lasso回归的学生班级成绩排名预测方法,其特征在于,所述步骤一中使用Pearson correlation-based similarity对两个年级之间相同专业方向的学生成绩进行匹配的具体步骤如下:步骤101:定义YEAR为年级学生成绩数据集,YEAR={year1,year2,year3,year4},其中,yearh为第h年级中班级学生成绩数据集,yearh∈YEAR,h∈[1,4];

步骤102:yearh={cla1,cla2,…,claclasum},其中,clasum为yearh中班级的个数,clai为第i班的学生成绩数据集,clai∈yearh,i∈[1,clasum];

步骤103:clai={stu1,stu2,…,stustusum},其中,stusum为clai中学生成绩数据集个数,stuj为第j个学生的成绩数据集,stuj∈clai,j∈[1,stusum];

步骤104:stuj={snoj,gradej,rankj},其中,snoj为stuj对应的学号,gradej为stuj对应的成绩数据集,rankj为stuj所取得的学期班级成绩排名数据集;

步骤105:gradej={gra1,gra2,gra3,gra4,gra5},其中,gra1为stuj对应的成绩为优秀或大于等于90小于等于100在stuj取得成绩中的比例,gra2为stuj对应的成绩为良好或大于等于80小于90在stuj取得成绩中的比例,gra3为stuj对应的成绩为中等或大于等于70小于80在stuj取得成绩中的比例,gra4为stuj对应的成绩为及格或大于等于60小于70在stuj取得成绩中的比例,gra5为stuj对应的成绩为不及格或小于60在stuj取得成绩中的比例;

步骤106:rankj={ran1,ran2,…,ranransum},其中,ransum为stuj所取得的学期班级成绩排名数据个数,ranp为stuj所取得的单学期班级成绩排名数据,ranp∈rankj,p∈[1,ransum];

步骤107:定义学生班级成绩排名匹配数据集forecast={{sonp1,fore1},{sonp2,fore2},…,{sonpsopsum,foresnopsum}},其中,sonpsum为forecast中的学生人数,sonpm为第m个学生的学号,forem为学生学号为sonpm对应的期末班级成绩排名匹配值,{sonpm,forem}∈forecast,m∈[1,snopsum];

步骤108:定义循环变量a,赋初始值为1,用于循环遍历YEAR;定义循环变量n,赋初始值

1,用于循环遍历forecast;定义NULL为空;

步骤109:如果a<=3,则跳转到步骤110,否则,跳转到步骤125;

步骤110:第a年级中班级学生成绩数据集yeara={cla1,cla2,…,claclasum};定义循环变量b,赋初始值为1,用于循环遍历yeara;

步骤111:如果b<=clasum,则跳转到步骤112,否则,跳转到步骤124;

步骤112:第b班级成绩数据集clab={stu1,stu2,…,stustusum},定义循环变量c,赋初始值为1,用于循环遍历clab;

步骤113:如果c<=stusum,则跳转到步骤114,否则,跳转到步骤123;

步骤114:如果rankc=NULL,则跳转到步骤122,否则,跳转到步骤115;

步骤115:从yeara+1中取数据集clak,clak为stuc所在班级clab高一年级相同专业班级的学生各科成绩所统计出的成绩数据集,k∈[1,clasum],clak∈yeara+1,clak={stu1,stu2,…,stustudentsum},其中,studentsum为clak中学生成绩数据集个数,stup={snop,gradep,rankp},stup∈clak,p∈[1,studentsum];定义循环变量q,赋初始值1,用于循环遍历clak;定义局部变量MAX,max,赋初始值MAX=0,用于存储最高相似度的值,max用于存储相似度的值;

步骤116:如果q<=studentsum,则跳转到步骤117,否则,跳转到步骤121;

步骤117:使用Pearson correlation-based similarity,计算stuc中学生成绩数据集gradec与stuq中学生成绩数据集gradeq的相似度,将值赋值给max;

步骤118:如果max>MAX,则跳转到步骤119,否则,跳转到步骤120;

步骤119:定义变量var,用于存储q,将max的值赋值给MAX,赋值var=q;

步骤120:赋值q=q+1,跳转到步骤116;

步骤121:将stuc对应的sonc赋值给forecast中sonpn,将stuq中的rankvar中对应于stuc的预测学期班级成绩排名数据赋值给forecast中sonpn对应的foren;

步骤122:赋值c=c+1,n=n+1,跳转到步骤113;

步骤123:赋值b=b+1,跳转到步骤111;

步骤124:赋值a=a+1,跳转到步骤109;

步骤125:得到的学期班级成绩排名数据匹配结果集forecast。

7.根据权利要求6所述的一种基于Lasso回归的学生班级成绩排名预测方法,其特征在于,所述步骤二中使用Lasso回归对预处理后的数据集进行预测处理的具体步骤如下:步骤201:定义写生数据STU={{SON1,GRADE1,RANK1},{SON2,GRADE2,RANK2},…,{SONSSUM,GRADESSUM,RANKSSUM}},其中,SSUM为STU中学生的个数,SONd为第d个学生对应的学号,GRADEd为第d个学生对应的取得成绩中的学期学分最高成绩数据集,RANKd为第d个学生所取得的学期班级成绩排名数据集,{SONd,GRADEd,RANKd}∈STU,变量d∈[1,STUSUM];

步骤202:RANKd={R1,R2,…,RRSUM},GRADEd={G1,G2,...GRSUM},其中,RSUM为RANKd中成绩个数,Re为学号为SONd的学生第e学期的班级成绩排名,Re∈RANKd,Ge为学号SONd的学生第e学期取得学分最高的成绩数据,Ge∈GRADEd,变量e∈[1,RSUM];

步骤203:定义学生班级成绩排名预测数据集FORECAST={{SONL1,FORE1},{SONL2,FORE2},…,{SONLSONLSUM,FORESONLSUM}},其中,SONLSUM为预测学生成绩的学生人数,SONLf为第f个学生的学号,FOREf为学生学号为SONLf对应的期末班级成绩排名预测值,{SONLf,FOREf}∈FORECAST,f∈[1,SONLSUM];定义循环变量g,循环遍历STU,赋初始值为1;定义循环变量z,循环遍历FORECAST,赋初始值为1;定义NULL为空;

步骤204:如果g<=SSUM,则跳转到步骤205,否则跳转到步骤210;

步骤205:如果GRADEg=NULL,则跳转到步骤209,否则跳转到步骤206;

步骤206:定义变量AVG用于计算GRADEg数据集中成绩的平均值,AVG=int((G1+G2+…+GRSUM)/RSUM),其中函数int()为取整函数;

步骤207:定义FORETWO为期末班级成绩排名预测值,使用Lasso回归,以学生数据集STU中{GRADEg,RANKg}为训练数据集,基于AVG来预测学号为SONg的期末班级成绩排名预测值FORETWO,将SONg赋值给FORECAST中的SONLz,将FORETWO赋值给SONLz对应的FOREz;

步骤208:赋值z=z+1;

步骤209:赋值g=g+1,跳转到步骤204;

步骤210:得到的学期班级成绩排名数据预测结果集FORECAST。

8.根据权利要求7所述的一种基于Lasso回归的学生班级成绩排名预测方法,其特征在于,所述步骤三中对学生班级成绩排名数据集和学生班级成绩排名匹配数据集进行加权值处理的具体步骤如下:步骤301:取步骤125中学生班级成绩排名匹配数据forecast={{sonp1,fore1},{sonp2,fore2},…,{sonpsonpsum,foresnopsum}};

步骤302:取步骤210中学生班级成绩排名预测数据集FORECAST={{SONL1,FORE1},{SONL2,FORE2},…,{SONLSONLSUM,FORESONLSUM}};

步骤303:定义LastForecast为学生班级成绩排名预测结果集,LastForecast={{LastSon1,LastFore1},{LastSon2,LastFore2},…,{LastSonlastsum,LastForelastsum}},其中,lastsum为LastForecast中学生个数,LastSonh为第h个学生的学号,LastForeh为学号为LastSonh对应的学生班级成绩排名预测结果数据,{LastSonh,LastForeh}∈LastForecast,h∈[1,lastsum];

步骤304:定义循环变量x,循环遍历forecast,赋初始值为1,循环变量y,循环遍历FORECAST,赋初始值1,循环变量m,循环遍历LastForecast,赋初始值1;定义WV为加权值,NULL为空;

步骤305:如果x<=sonpsum,则跳转到步骤306,否则,跳转到步骤314;

步骤306:如果sonpx=SONLy,则跳转到步骤307,否则,跳转到步骤312;

步骤307:如果forex=NULL,则跳转到步骤308,否则,跳转到步骤309;

步骤308:将sonpx赋值给LastForecast中LastSonm,将FOREy赋值给LastSonm对应的LastForem,跳转到步骤313;

步骤309:如果FOREy=NULL,则跳转到步骤310,否则,跳转到步骤311;

步骤310:将sonpx赋值给LastForecast中LastSonm,将forex赋值给LastSonm对应的LastForem,跳转到步骤313;

步骤311:将sonpx赋值给LastForecast中LastSonm,将forex*WV+FOREy*WV赋值给LastSonm对应的LastForem,其中,*表示两个标量的乘积,跳转到步骤313;

步骤312:赋值y=y+1,跳转到步骤306;

步骤313:赋值x=x+1,跳转到步骤305;

步骤314:得到学生班级成绩排名预测结果集LastForecast。

9.根据权利要求8所述的一种基于Lasso回归的学生班级成绩排名预测方法,其特征在于,所述步骤311中加权值WV取值为0.5。