【机器学习PAI实践八】用机器学习算法评估学生考试成绩
来源:互联网 发布:网站美工设计教程 编辑:程序博客网 时间:2024/05/16 09:08
(本文数据为实验用例)
一、背景
母亲是老师反而会对孩子的学习成绩造成不利影响?能上网的家庭,孩子通常能取得较好的成绩?影响孩子成绩的最大因素居然是母亲的学历?本文通过机器挖掘算法和中学真实的学生数据为您揭秘影响中学生学业的关键因素有哪些。
本文的数据采集于某中学在校生的家庭背景数据以及在校行为数据。通过逻辑回归算法生成离线模型和学业指标评估报告,并且可以对学生的期末成绩进行预测。
二、数据集介绍
数据集由25个特征和一个打标数据构成,
具体字段如下:
数据截图:
三、离线训练
首先,实验流程图:
数据自上到下流入,先后经历了数据数据预处理、拆分、训练、预测与评估。
1.SQL脚本-数据预处理
select (case sex when 'F' then 1 else 0 end) as sex,(case address when 'U' then 1 else 0 end) as address,(case famsize when 'LE3' then 1 else 0 end) as famsize,(case Pstatus when 'T' then 1 else 0 end) as Pstatus,Medu,Fedu,(case Mjob when 'teacher' then 1 else 0 end) as Mjob,(case Fjob when 'teacher' then 1 else 0 end) as Fjob,(case guardian when 'mother' then 0 when 'father' then 1 else 2 end) as guardian,traveltime,studytime,failures,(case schoolsup when 'yes' then 1 else 0 end) as schoolsup,(case fumsup when 'yes' then 1 else 0 end) as fumsup,(case paid when 'yes' then 1 else 0 end) as paid,(case activities when 'yes' then 1 else 0 end) as activities,(case higher when 'yes' then 1 else 0 end) as higher,(case internet when 'yes' then 1 else 0 end) as internet,famrel,freetime,goout,Dalc,Walc,health,absences,(case when G3>14 then 1 else 0 end) as finalScorefrom ${t1};
这里SQL脚本主要处理的逻辑是将文本数据结构化。比如说源数据分别有yes和no的情况,我们可以通过0表示yes,1表示no将文本数据量化。一些多种类的文本型字段,比如说Mjob,我们可以结合业务场景来抽象,比如说如果工作是teacher就表示为1,不是teacher表示为0,抽象后这个特征的意义就是表示工作是否与教育相关。对于目标列,我们按照大于18分设为1,其它为0,拟在通过训练,找出可以预测分数的模型。
2.归一化
去量纲,将所有的字段都转换成0~1之间,去除字段间大小不均衡带来的影响。结果图:
3.拆分
将数据集按照8:2拆分,百分之八十用来训练模型,剩下的用来预测。
4.逻辑回归
通过逻辑回归算法训练生成离线模型。具体算法详情可以https://en.wikipedia.org/wiki/Logistic_regression
5.结果分析和评估
通过混淆矩阵可以查看模型预测的准确率。
可以看到预测准确率为82.911%。
根据逻辑回归算法的特性,我们可以通过模型系数挖掘出一些比较有意思的信息,首先查看模型:
根据逻辑回归算法的算法特性,权重越大表示特征对于结果的影响越大,权重是正数表示对结果1(期末高分)正相关,权重负数表示负相关。于是我们可以挑选几个权重较大的特征进行分析。
以上结论只是从实验的很小的数据集得到的结论,仅供参考。
四、其它
作者微信公众号(与我联系):
- 【机器学习PAI实践八】用机器学习算法评估学生考试成绩
- 机器学习--算法评估
- 【机器学习PAI实践十二】机器学习算法基于信用卡消费记录做信用评分
- 【机器学习PAI实践七】文本分析算法实现新闻自动分类
- 【机器学习PAI实践三】雾霾成因分析
- 【机器学习PAI实践四】如何实现金融风控
- 【机器学习PAI实践六】金融贷款发放预测
- 【机器学习PAI实践五】机器学习眼中的《人民的名义》
- 【机器学习PAI实践九】如何通过机器学习实现云端实时心脏状况监测
- 系统学习机器学习之算法评估
- 机器学习算法的性能评估
- 机器学习 --- 分类算法模型评估
- 机器学习-2算法的评估
- 机器学习评估
- 95后大学生用机器学习PAI大战老年痴呆
- 机器学习PAI教你如何品酒
- 机器学习PAI教你如何品酒
- 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练
- Hdu2017 字符串统计
- css背景图像问题(background-size)
- java文件的读取、粘贴、移动等
- Devops学习实践(四) jenkins通过maven或ant集成checkstyle
- JS正则表达式元字符
- 【机器学习PAI实践八】用机器学习算法评估学生考试成绩
- laravel 5.4 自定义表单验证
- 幼儿园作业(毕业季)
- 移动POS机五大安全问题
- Reverse Linked List
- Linux 网络调试
- 简易Fgf游戏
- mysql---使用操作符过滤数据
- public static void main(String [] args) 中static能否去掉?为什么?