关闭

【机器学习PAI实践八】用机器学习算法评估学生考试成绩

标签: 机器学习算法
2433人阅读 评论(4) 收藏 举报
分类:

(本文数据为实验用例)

一、背景

母亲是老师反而会对孩子的学习成绩造成不利影响?能上网的家庭,孩子通常能取得较好的成绩?影响孩子成绩的最大因素居然是母亲的学历?本文通过机器挖掘算法和中学真实的学生数据为您揭秘影响中学生学业的关键因素有哪些。

本文的数据采集于某中学在校生的家庭背景数据以及在校行为数据。通过逻辑回归算法生成离线模型和学业指标评估报告,并且可以对学生的期末成绩进行预测。

二、数据集介绍

数据集由25个特征和一个打标数据构成,

具体字段如下:

字段名 含义 类型 描述
sex 性别 string F是女,M表示男
address 住址 string U表示城市,R表示乡村
famsize 家庭成员数 string LE3表示少于三人,GT3多于三人
pstatus 是否与父母住在一起 string T住在一起,A分开
medu 母亲的文化水平 string 从0~4逐步增高
fedu 父亲的文化水平 string 从0~4逐步增高
mjob 母亲的工作 string 分为教师相关、健康相关、服务业
fjob 父亲的工作 string 分为教师相关、健康相关、服务业
guardian 学生的监管人 string mother,father or other
traveltime 从家到学校需要的时间 double 以分钟为单位
studytime 每周学习时间 double 以小时为单位
failures 挂科数 double 挂科次数
schoolsup 是否有额外的学习辅助 string yes or no
fumsup 是否有家教 string yes or no
paid 是否有相关考试学科的辅助 string yes or no
activities 是否有课外兴趣班 string yes or no
higher 是否有向上求学意愿 string yes or no
internet 家里是否联网 string yes or no
famrel 家庭关系 double 从1~5表示关系从差到好
freetime 课余时间量 double 从1~5从少到多
goout 跟朋友出去玩的频率 double 从1~5从少到多
dalc 日饮酒量 double 从1~5从少到多
walc 周饮酒量 double 从1~5从少到多
health 健康状况 double 从1~5从状态差到好
absences 出勤量 double 0到93次
g3 期末成绩 double 20分制

数据截图:

三、离线训练

首先,实验流程图:

数据自上到下流入,先后经历了数据数据预处理、拆分、训练、预测与评估。

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 finalScore
from ${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(期末高分)正相关,权重负数表示负相关。于是我们可以挑选几个权重较大的特征进行分析。

字段名 含义 权重 分析
mjob 母亲的工作 -0.7998341777833717 母亲是老师对于孩子考高分是不利的
fjob 父亲工作 1.422595764037065 如果父亲是老师,对于孩子取得好的成绩是非常有利的
internet 家里是否联网 1.070938672974736 家里联网不但不会影响成绩,还会促进孩子的学习
medu 母亲的文化水平 2.196219307541352 母亲的文化水平高低对于孩子的影响是最大的,母亲文化越高孩子学习越好。

以上结论只是从实验的很小的数据集得到的结论,仅供参考。

四、其它

作者微信公众号(与我联系):

2
1
查看评论

【机器学习PAI实践五】机器学习眼中的《人民的名义》

一、背景 最近热播的反腐神剧“人民的名义”掀起来一波社会舆论的高潮,这部电视剧之所能得到广泛的关注,除了老戏骨们精湛的演技,整部剧出色的剧本也起到了关键的作用。笔者在平日追剧之余,也尝试通过机器学习算法对人民的名义的部分剧集文本内容进行了文本分析,希望从数据的角度得到一些输入。本文使用阿里云机器学...
  • gshengod
  • gshengod
  • 2017-05-04 10:25
  • 2940

系统学习机器学习之算法评估

一、引言   分类算法有很多,不同分类算法又用很多不同的变种。不同的分类算法有不同的特定,在不同的数据集上表现的效果也不同,我们需要根据特定的任务进行算法的选择,如何选择分类,如何评价一个分类算法的好坏,前面关于决策树的介绍,我们主要用的正确率(accuracy)来评价分类算法。   正确率确实...
  • App_12062011
  • App_12062011
  • 2015-12-29 11:21
  • 5566

机器学习算法的性能评估

本文介绍机器学习算法的性能评估的方法,包括算法高偏差还是高方差的诊断,学习曲线等。从工程应用的角度来讲,算法只需要知道原理,并不需要真正去实现,数值专家们帮我们实现了大量的开源算法可供我们使用。而怎么样评估某个算法的性能以及怎么样去优化性能反而是工程应用领域最重要的问题。 为什么需要评估机器学习算法...
  • kamidox
  • kamidox
  • 2015-12-01 23:44
  • 1511

阿里云机器学习平台——PAI平台

在云栖TechDay第十五期活动上,阿里云iDST资深技术专家褚崴给大家带来了《阿里云机器学习平台》的分享,他以机器学习的概念入手展开了此次分享,演讲中他重点介绍了阿里云机器学习平台的基础架构和产品特点,并结合阿里内部的芝麻信用分、推荐系统等场景讲解了PAI平台的具体应用方案。 下文根据褚崴的演讲内...
  • bengsa2291
  • bengsa2291
  • 2017-03-15 09:42
  • 1027

机器学习 --- 分类算法模型评估

一、 ROC曲线1. 混淆矩阵针对二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况. (1)若一个实例是正类并且被预测为正类,即为真正类(True Postive TP) (2)若一个实例是正类,但是被预测成为负类,即为假负类(False...
  • chibangyuxun
  • chibangyuxun
  • 2016-11-15 15:30
  • 1339

机器学习模型性能评估方法笔记

模型性能评估综述对于模型性能的评估,我们通常分为一下三步: 1. 对数据集进行划分,分为训练集和测试集两部分; 2. 对模型在测试集上面的泛化性能进行度量; 3. 基于测试集上面的泛化性能,依据假设检验来推广到全部数据集上面的泛化性能数据集的划分对于模型来说,其在训练集上面的误差我们称之为“训...
  • batuwuhanpei
  • batuwuhanpei
  • 2016-07-12 17:27
  • 7282

《Python机器学习算法》勘误

本书在出版的过程中已经经过详细的检查,但是大小问题依旧存在,感谢各位细心的读者为本书指出的错误。 第34页的错误在Python2.7.9版本上不会报错。 第1版第一次印刷勘误 页码 原文 修改 XVI (目录)12.3.2 Mean s...
  • google19890102
  • google19890102
  • 2017-09-15 21:43
  • 1520

【机器学习PAI实践一】搭建心脏病预测案例

产品地址:https://data.aliyun.com/product/learn?spm=a21gt.99266.416540.102.OwEfx2一、背景心脏病是人类健康的头号杀手。全世界1/3的人口死亡是因心脏病引起的,而我国,每年有几十万人死于心脏病。 所以,如果可以通过提取人体相关的体侧...
  • gshengod
  • gshengod
  • 2016-12-13 15:06
  • 3070

【机器学习】33个算法详解与实战【目录】

(0)【机器学习】机器学习综述与“Hello World”实战http://blog.csdn.net/sileixinhua/article/details/73611056(1)【机器学习】k-means 聚类算法详解与实战(2)【机器学习】K近邻(KNN)算法详解与实战(3)【机器学习】K-M...
  • sileixinhua
  • sileixinhua
  • 2017-06-23 20:33
  • 1683

阿里云机器学习PAI-快速上手指南

阿里云机器学习PAI-快速上手指南 What is 机器学习 机器学习指的是机器通过统计学算法,对大量的历史数据进行学习从而生成经验模型,利用经验模型指导业务。目前机器学习主要在以下一些方面发挥作用: 营销类场景:商品推荐、用户群体画像、广告精准投放 金融类场景:贷款发放预测...
  • forest_world
  • forest_world
  • 2017-05-08 14:41
  • 3471
    我的微信公众号

    作者公众号:凡人机器学习

    凡人机器学习

    机器学习微信交流群
    为了方便大家学习与交流,凡人云近日已开通机器学习社群! 分享“凡人机器学习”公众号名片到40人以上的大群并截图给小助手,小助手就会拉你入群 在这里你可以得到: 1.各种学术讨论 2.最新的资料分享 3.不定期的征文以及联谊活动! 小助手微信号:meiwznn
    作者新书《机器学习实践应用》

    主要讲述算法和业务的结合,适合初学者

    机器学习实践应用

    京东地址

    个人资料
    • 访问:842959次
    • 积分:11262
    • 等级:
    • 排名:第1685名
    • 原创:236篇
    • 转载:40篇
    • 译文:0篇
    • 评论:460条
    博客专栏
    统计