基于决策树的远程教育环境中学生情况在线检测方法

文档序号:2601023阅读:1184来源:国知局

专利名称::基于决策树的远程教育环境中学生情况在线检测方法
技术领域
:本发明涉及的是一个计算机应用
技术领域
的方法,具体是一种基于决策树的远程教育环境中学生情况在线检测方法,用于在远程教育环境中,为教师提供在教学时候的辅助工具。
背景技术
:在远程教育环境中,由于学生数量庞大,并且老师不能和学生直接面对面交流,从而使得教师对学生的学习情况难以把握,因此也就无法实时调整教学方案。在这种情况下,利用数据挖掘技术,对学生的学习情况进行判断,就成为一种非常重要的方法。经对现有技术的文献检索发现,chenn-JungHuang等在《computersandeducation》(《计算机与教育》),(48(2007)658-679)上发表的("Anintelligentlearningdiagnosissystemforweb-basedthematiclearningplatform")(—个用于WEB主题教育平台中的智能诊断系统),该文提出利用学生的过去的log文件进行学习习惯的分析和检测,从而给予学生一些指导,帮助学生修正学习习惯,具体方法包括利用用户过去的学习行为中的LOG文件进行分析,采用的分类方法主要包括粗糙集和K-邻近技术,实验结果表明该系统对于学生的学习情况具有一定的检测能力。该系统有一些缺点(1)采用的粗糙集和K-邻近方法的效率比较低,在大规模的远程教育环境中实时性不够;(2)没有根据知识点来创建训练数据,使得检测结果的粒度过于粗糙。
发明内容本发明的目的在于克服现有技术中的不足,提供一种基于决策树的远程教育环境中学生情况在线检测方法,使其能支持在大规模学习环境下,以知识点为中心进行学生情况实时检测,从而给教师提供即时的学生情况资料,更好的解决远程教育中教育质量的问题。本发明是通过以下技术方案实现的,本发明包括四个步骤第一个步骤是训练数据集的生成:将远程教育数据库的原始数据集中与学生学习情况相关的数据表抽取出来,并经过去噪、整理等操作,形成训练集;第二步骤是根据训练数据集构建决策树采用ID3算法构建出相应的决策树,该决策树等价于一系列规则;第三步骤是应用决策树进行学生情况检测:将新的数据集引入到上述决策树中去,并计算出相应的检测结果;第四步骤是检测结果图形化显示将检测结果以图形化的方式表现给教师,显示内容包括在每一个知识点的总体检测情况和类别波动情况。所述的训练数据集的生成,包括步骤具体如下a.从原始数据库中将考勤表、作业表和考试表的数据表抽取出来;抽取方法采用标准的SQL语句即可。b.将这些数据表中的错误、残缺、不一致的数据剔除;所述错误的数据是指超出实际范围的数据,例如:某个学生的成绩超过了100分。所述残缺的数据是指重要字段数据缺失的记录,例如某个学生的姓名字段的记录缺失。所述不一致是指在数据表中的某个记录字段与属性要求不匹配的数据,例如,某个记录中'姓名'字段输入的是学号。以上这几种情况往往是由于数据库的建立和输入数据的操作错误造成的,这样的数据无法用来做后来的训练数据集,需要剔除。C.根据元数据表将这几个数据表中模式不匹配和语义冲突的数据字段进行统一,然后合并在一张数据表中;所述元数据表是指记录了不同数据表之间关系的表格,该表说明了各个数据表字段的语义和相互的关系,在本发明中用来做数据表之间的统一和合并的标准。所述模式不匹配和语义冲突的数据字段,是指在不同的表格中,某个数字字段表达的语义是相同的,但是使用的名称不同,从而造成了模式不匹配。例如在考勤表中使用"NO"代表学号,在作业表中采用"ID"代表学号。这两个字段表达的是同样的内容,字段名称不同,从而造成了模式不匹配和语义冲突。所述合并在一张数据表是指将从考勤表、作业表和LOG文件中的数据,存放到一张训练表中,这样便于训练,具体的方法可以用SQL语句实现,也可以用程序的方法实现。用SQL语句则可以用insert命令即可,例如insertintotraining_tableselect*fromkaoshi—table。d.将考试结果的字段追加到合并后的数据表中;将考试结果的百分制表示方法转换为"A","B","C","D"四个级别,"100-90"为A,"89-75"为B,"74-60"为C,"60以下"为D。在训练表中增加一个字段"record",然后用SQL语句,将考试结果插入到对应的字段中去。所述的根据训练数据集构建决策树,包括步骤具体如下a.检测结果确定为A,B,C,D四类,分别对应前面的考试结果;b.决策树构建的算法采用ID3算法,该算法是一种登山算法,即选择最优的一个属性作为下一阶段的检测属性。该算法具体过程如下b.l根据信息增益公式,计算出当前信息增益最大的属性;所述信息增益公式为-Gain(F)=I(Si,S2,…S加)-E(F)I(Si,S2,…sJ二-Epilog2(Pi)E(F)=£((Su+…..sJ/s)氺I(Su,.....smj)I(Su.,.....snj)=-Epijlog2(Pij)其中,S是s个数据样本的集合,定义m个不同类Ci。Si是Ci中样本数,pi是任意样本属于Ci的概率。F为某个属性,具有v个值,并且可以用属性F将S划分为v个子集(Sl,....Sv),Sij是子集Sj中类Ci的样本数,Pij是Sj中的样本属于类Ci的概率。b.2将该属性作为树的根节点;b.3根据该属性值的个数将训练表中的数据分为相应的分支;b.4对于每个分支,重复b.l—b.3的过程,直到所有的数据都用光为止。b.5将b.1—b.4过程中找到的属性连起来,就是一个决策树。叶子节点上是"A","B","C","D"这四个值。所述的应用决策树进行学生情况检测,包括步骤具体如下-a.将需要检测的学生情况数据表中的记录提取出来,可以用SQL语句实现;b.将记录中与决策树根对应的属性值检索出来,并与决策树根属性的值进行比较,根据比较的结果决定下一层分支点的属性;c.将记录中与决策树下一层分支点属性对应的值提取出来,与该分支点的值比较,根据比较结果决定更下一层分支点的属性;d.重复c的过程,直到所有的属性值都比较完毕,或者已经到达决策树叶子节点;e.该决策树叶子节点所对应的数值就是检测结果。如某个学生记录通过上述的a-d的过程,达到的叶子节点的值是"A",则代表对于该学生的检测结果是所述的检测结果图形化显示,包括步骤具体如下a.遍历测试数据集,直到所有的记录都已经根据(3)中的流程检测完毕;b.将检测结果写入结果数据表result—table中;c.根据知识点阶段,将检测结果分成A,B,C,D四个组,并用图形化显示;每个组中显示的是该检测中的学生学号;d.根据上一个知识点的检测结果,将学生的学习检测结果变动情况图形化显示,分别有上升3名、上升2名、上升1名,不变、下降1名、下降2名,下降3名等7种情况。本发明提供的基于决策树技术的远程教育环境中学生学习情况在线检测方法,给教师提供了在每一个知识点的学生情况检测结果,让教师能够了解总体的学习分布情况以及学生在不同知识点学习情况的变动,从而帮助教师进行相应的教学进度调整和个性化辅导,可以用于提高了网络教育环境下的教学质量。具体实施例方式下面对本发明的实施例作详细说明本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。下面以在《数据结构》课程的'线性表'知识点处进行在线学习情况检测的实现过程,来说明该方法的具体应用。为了能检测'线性表'知识点处的学生学习情况,需要进行两个主要步骤的工作,第一个是构建检测模型,第二个是利用模型进行检测。其中构建检测模型的步骤是通用的,对于所有的知识点,模型都是统一的。构建模型的过程分为生成训练数据集和构建决策树两个部分,这两个部分与具体的知识点无关。与该方法相关的数据表是和《数据结构》课程相关的考勤表、作业表和考试表,分另U用kaoqin—table,zouye一table,kaoshi—table表示(1)训练数据集生成过程具体如下a.从原始数据库中将《数据结构》这门课的考勤表、作业表和考试表的内容从数据库抽取出来;用SQL语句如下Select*fromkaoqin—tablewhere课程名='数据结构,其他的两个表也类似处理。b.将这些数据表中的错误、残缺、不一致的数据剔除;例如发现在kaoqinJable中有一个记录的'time'字段数据缺失,这样的记录就直接删除。发现在znoyeJ:able中有一个记录的成绩是'120'分,这显然是不一致的数据,也需要剔除。c.根据元数据表将这几个数据库中模式不匹配和语义冲突的数据字段进行统一,然后合并在一张数据表中。发现在kaoqin—table中用'NO'代表学号,在kaoshi—table中用'ID'代表学号,这是语义冲突的,则将两个表中的学号字段统一用'ID'表示。建立一个训练表training—table,然后将其他三个表的数据插入该表中,例如insertintotrainingtableselect*fromkaoshi—table,其他两个表也类似处理。d.将考试结果的字段追加到合并后的数据表中;在training—table中增加'record'字段,然后从kaoshi—table中将成绩读出来,分别插入相应的记录中去。(2)决策树构建过程具体如下a.所要检测的结果,事先确定为A,B,C,D四类,分别对应前面的考试结果b.决策树构建的算法是ID3算法,该算法是一种登山算法,即选择最优的一个属性作为下一阶段的检测属性。该算法具体过程如下b.l根据'信息增益,公式,计算出ti"aining—table中当前信息增益最大的属性。b.2将该属性作为树的根节点,例如计算出'提问次数'这个属性的信息增益最大,则该决策树的根节点为'提问次数'。b.3根据该属性值的个数将训练表中的数据分为相应的分支,如'提问次数〈3,的记录放入左子树分支,'提问次数〉3'的记录入右子树分支b.4通过计算信息增益,下一个层次的属性为'点播时间'。'点播时间〈30小时'的记录放入左子树,'点播时间〉30小时'的记录放入右子树。b.5将b.1—b.5过程中找到的属性连起来,就是一个决策树。叶子节点上是"A","B","C","D"这四个值,其中与'点播时间〉30'的节点对应的类别是'A'。利用模型进行检测的时候,则是与'线性表'的知识点有关,测试数据集需要根据'线性表'这个知识点进行整合,并输入决策树模型。下面具体说明(3)应用决策树检测在'线性表'这个知识点的学习情况过程具体如下a.将需要检测的学生"张三"在'线性表'这个知识点的情况,包括考勤、作业、考试等数据从整个数据库中提取出来,形成测试数据表例如用SQL语句select*fromkaoshi_tablewherename='张三'b.将记录中张三的的'提问次数'的记录值与根目录比较,发现张三的提问次数为'2',则进入右子树;再将'点播时间'与决策树的第二层比较,发现张三的点播时间大于30,则进入右子树。与该子树对应的叶子节点的值是'A',那么张三的检测结果就是'A'。c.将张三的检测结果写入相应的resiilt—table中,同时将表的知识点属性值赋值为'线性表';updateresult—tablesetknowpoint='线性表,wherename=,张三,。(4)检测结果图形化显示过程如下a.将数据表中的所有学生的根据(3)中的流程走一遍后,得到result—table中的数据记录c.将检测结果中的学生姓名或学号按照A,B,C,D分组图形化显示,图形化的知识点标注为'线性表'。每个分组中学生的数量也统计出来,显示在图形上。d.根据上一个知识点的检测结果,将学生的学习检测结果变动情况图形化显示,分别有上升3名、上升2名、上升1名,不变、下降1名、下降2名,下降3名等7种情况。实施效果本发明方法利用决策树技术进行学生在《数据挖掘》课程的'线性表'知识点的学习情况的检测,给在网络教育环境中教学的老师提供了在该知识点点判定当前学习情况的工具。教师可以看到在'线性表'知识点学生的学习情况检测,以及学生在不同知识点学习效果变动情况,这样教师可以进行有针对性的调整教学计划,或者进行个性化辅导。权利要求1、一种基于决策树的远程教育环境中学生情况在线检测方法,其特征在于,包括四个步骤第一个步骤是训练数据集的生成将远程教育数据库的原始数据集中与学生学习情况相关的数据表抽取出来,并经过去噪、整理操作,形成训练集;第二步骤是根据训练数据集构建决策树采用ID3算法构建出相应的决策树,该决策树等价于一系列规则;第三步骤是应用决策树进行学生情况检测将新的数据集引入到上述决策树中去,并计算出相应的检测结果;第四步骤是检测结果图形化显示将检测结果以图形化的方式表现给教师,显示内容包括在每一个知识点的总体检测情况和类别波动情况。2、根据权利要求1所述的基于决策树的远程教育环境中学生情况在线检测方法,其特征是,所述训练数据集的生成,包括步骤具体如下a.从原始数据库中将考勤表、作业表和考试表的数据表抽取出来,抽取方法采用标准的SQL语句;b.将抽取出来的数据表中的错误、残缺、不一致的数据剔除;C.根据元数据表将这几个数据表中模式不匹配和语义冲突的数据字段进行统一,然后合并在一张数据表中;d.将考试结果的字段追加到合并后的数据表中。3、根据权利要求2所述的基于决策树的远程教育环境中学生情况在线检测方法,其特征是,所述错误的数据是指超出实际范围的数据;所述残缺的数据是指重要字段数据缺失的记录;所述不一致是指在数据表中的某个记录字段与属性要求不匹配的数据。4、根据权利要求2所述的基于决策树的远程教育环境中学生情况在线检测方法,其特征是,所述元数据表是指记录了不同数据表之间关系的表格,该表说明了各个数据表字段的语义和相互的关系,用来做数据表之间的统一和合并的标准;所述模式不匹配和语义冲突的数据字段,是指在不同的表格中,某个数字字段表达的语义是相同的,但是使用的名称不同,从而造成了模式不匹配;所述合并在一张数据表是指将从考勤表、作业表和LOG文件中的数据,存放到一张训练表中,这样便于训练。5、根据权利要求2所述的基于决策树的远程教育环境中学生情况在线检测方法,其特征是,所述将考试结果的字段追加到合并后的数据表中,是指将考试结果的百分制表示方法转换为"A","B","C","D"四个级别,"100-90"为A,"89-75"为B,"74-60"为C,"60以下"为D;在训练表中增加一个字段"record",然后用SQL语句,将考试结果插入到对应的字段中去。6、根据权利要求1所述的基于决策树的远程教育环境中学生情况在线检测方法,其特征是,所述根据训练数据集构建决策树,包括步骤具体如下a.检测结果确定为A,B,C,D四类,分别对应前面的考试结果;b.决策树构建的算法采用ID3算法,该算法是一种登山算法,即选择最优的一个属性作为下一阶段的检测属性,具体如下b.l根据信息增益公式,计算出当前信息增益最大的属性;b.2将该属性作为树的根节点;b.3根据该属性值的个数将训练表中的数据分为相应的分支;b.4对于每个分支,重复b.l—b.3的过程,直到所有的数据都用光为止;b.5将b.1—b.4过程中找到的属性连起来,就是一个决策树,叶子节点上是"A","B","C","D"这四个值。7、根据权利要求6所述的基于决策树的远程教育环境中学生情况在线检测方法,其特征是,所述信息增益公式为-Gain(F)=I(Si,S2,…s迈)-E(F)I(Si,s2,、)=-EPilog2(pi)E(F)=i:((Su+…..s迈j)/s)氺I(s".,.....snj)I(Su.,.....smj)=-Epijlog2(Pij)其中,S是s个数据样本的集合,定义m个不同类Ci,Si是C冲样本数,pi是任意样本属于Ci的概率,F为某个属性,具有v个值,并且能用属性F将S划分为v个子集(S1,....SV),Sij是子集Sj中类Ci的样本数,p"是Sj中的样本属于类Ci的概率。8、根据权利要求1所述的基于决策树的远程教育环境中学生情况在线检测方法,其特征是,所述应用决策树进行学生情况检测,包括步骤具体如下a.将需要检测的学生情况数据表中的记录提取出来;b.将记录中与决策树根对应的属性值检索出来,并与决策树根属性的值进行比较,根据比较的结果决定下一层分支点的属性;c.将记录中与决策树下一层分支点属性对应的值提取出来,与该分支点的值比较,根据比较结果决定更下一层分支点的属性;d.重复c的过程,直到所有的属性值都比较完毕,或者已经到达决策树叶子节点;e.该决策树叶子节点所对应的数值就是检测结果。9、根据权利要求1所述的基于决策树的远程教育环境中学生情况在线检测方法,其特征是,所述检测结果图形化显示,包括步骤具体如下a.遍历测试数据集,直到所有的记录都已经根据应用决策树进行学生情况检测中的流程检测完毕;b.将检测结果写入结果数据表result—table中;c.根据知识点阶段,将检测结果分成A,B,C,D四个组,并用图形化显示,每个组中显示的是该检测中的学生学号;d.根据上一个知识点的检测结果,将学生的学习检测结果变动情况图形化显示,分别有上升3名、上升2名、上升1名,不变、下降1名、下降2名,下降3名7种情况。全文摘要一种基于决策树的远程教育环境中学生情况在线检测方法,包括四个步骤第一个步骤将远程教育数据库的原始数据集中与学生学习情况相关的数据表抽取出来,并经过去噪、整理操作,形成训练集;第二步骤采用ID3算法构建出相应的决策树,该决策树等价于一系列规则;第三步骤将新的数据集引入到上述决策树中去,并计算出相应的检测结果;第四步骤将检测结果以图形化的方式表现给教师,显示内容包括在每一个知识点的总体检测情况和类别波动情况。本发明能支持在大规模学习环境下,以知识点为中心进行学生情况实时检测,从而给教师提供即时的学生情况资料。文档编号G09B5/00GK101105854SQ200710045178公开日2008年1月16日申请日期2007年8月23日优先权日2007年8月23日发明者鹏丁,檀晓红,申瑞民,恒罗,刚陈申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1