01 JAN

怎么设计大数据与机器学习?

数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。这一过程也是质量管理体系的支持过程。在实用中,数据分析可帮助人们作出判断,以便采取适当行动。

数据分析的数学基础在20世纪早期就已确立,但直到计算机的出现才使得实际操作成为可能,并使得数据分析得以推广。数据分析是数学与计算机科学相结合的产物。

引言

最近调研了一位班主任,他反馈了一个现象:过往的几届学生中总会出现这样一种情况,原本明明是物理尖子生,但是随着学业的进展,部分学生的物理成绩开始下滑。

通过分析学生的试卷情况,老师发现学生的失分点可能是和一些数学知识相关。这是不是意味着学生物理学的不好的原因可能是在数学方面出了问题?如果真的是这样,我该怎么帮助学生?

针对这种情况,我们是否有一种方法能够找到物理知识点与数学知识点的关系呢?正好,公司产品里已经沉淀了大量关于学生的答题数据,基于关联规则分析我们可以找到学生的错题知识点的规则,最终获得知识点间的相关规律,并将该规律应用于产品中进行知识图谱的搭建。

关联分析规则

关联规则分析也称为购物篮分析,一个经典的案例就是啤酒与尿布,最早是为了发现超市销售数据库中不同的商品之间的关联关系。

美国沃尔玛超市管理人员分析销售数据时,发现了一个令人难以理解的现象:

在某些特定的情况下,“啤酒”与“尿布”两件看上去毫无关系的商品,会经常出现在同一个购物篮中,且大多出现在年轻的父亲身上。经调查发现,在美国有婴儿的家庭中,一般是母亲在家中照看婴儿,年轻的父亲去超市买尿布。父亲在购买尿布的同时,往往会顺便为自己购买啤酒。

言归正传,我们将数据库的学生答题数据进行处理,将每位学生的数据整理成如下格式(整理方式不是本文重点内容,这里就不做阐述了):

现在假设,我们有10000条数据用来统计各个学生在知识点1与知识点2的掌握情况,其中有6000位学生未掌握知识点1,8000位学生未掌握知识点2,而有4000位学生同时未掌握知识点1和知识点2。

通过这个数据我们可以产生一条两个知识点之间的关联规则,用来表示未掌握知识点1的学生也未掌握知识点2。

这里我们需要引入三个关键指标来评估这条规则的有效性,分别为支持度、置信度和提升度,这里我尽量简单的讲解下:

支持度、置信度和提升度

支持度揭示了同时未掌握知识点1与知识点2的学生在整个数据集的占比,针对上方案例支持度 Support = 4000/10000 = 40%。

支持度越小,说明同时未掌握知识点1和知识点2的学生少之又少,两个知识点之间的联系并不大;若支持度很大,则说明未掌握知识点1与知识点2的学生占比非常大,那两个知识点的相关性可能已经成为常识了,并不值得深究。

那仅了解支持度就足够了么?肯定不是,通过支持度我们仅能了解到学生同时未掌握知识点1与知识点2的频率,但我们并不能得到未掌握知识点1对未掌握知识点2起了多少决定因素。因此,我们要引入第二个指标,就是置信度。

置信度揭示了在未掌握知识点1的学生人群中,同时有多少学生也未掌握知识点2。针对上方案例,置信度 confidence = 4000/6000 = 67%。也就是意味着,在未掌握知识点1的学生中有67%的学生也未掌握知识点2。

是不是看了以上两个指标后,你会觉得知识点1与知识点2肯定存在着某种频繁关系?

毕竟67%已经不算是一个小数字了。但是我们再回看下案例,如果我们不考虑知识点1的掌握情况,只看知识点2的未掌握学生占比,这个值会高达 80% !这就表明未掌握知识点1对未掌握知识点2并不是一个正向的关系,未掌握知识点1的可能性提升反而会导致未掌握知识点2的可能性下降。

是不是很反常理?我额外掌握了一个知识点居然会让我遗忘另一个知识点。其实,从现象上讲这也是可能的。因为,人的大脑容量有限,并且部分知识点会存在干扰项,你学得多就会导致做题的时候会多种思考的维度,这可能会让学生误入歧途。(时隔多年,我终于找到我考试考不好的原因了!)。为了解决这个问题,我们引入了提升度。

  • 当提升度为1时说明,应用关联规则和不应用关联规则产生相同的结果;

  • 当提升度大于1时,说明应用关联规则和不应用关联规则能产生更好的结果;

  • 当提升度小于1时,关联规则具有负相关的作用。

本例中的提升度 Lift = 67 % / 80% = 0.84,所以知识点1与知识点2是负相关的。

分析方法长治

1、列表法

将实验数据按一定规律用列表方式表达出来是记录和处理实验数据最常用的方法。表格的设计要求对应关系清楚、简单明了、有利于发现相关量之间的物理关系;此外还要求在标题栏中注明物理量名称、符号、数量级和单位等;根据需要还可以列出除原始数据以外的计算栏目和统计栏目等。最后还要求写明表格名称、主要测量仪器的型号、量程和准确度等级、有关环境条件参数如温度、湿度等。

2、作图法

作图法可以最醒目地表达物理量间的变化关系。从图线上还可以简便求出实验需要的某些结果(如直线的斜率截距值等),读出没有进行观测的对应点(内插法)或在一定条件下从图线的延伸部分读到测量范围以外的对应点(外推法)。此外,还可以把某些复杂的函数关系,通过一定的变换用直线图表示出来。例如半导体热敏电阻的电阻与温度关系为,取对数后得到,若用半对数坐标纸,以lgR为纵轴,以1/T为横轴画图,则为一条直线。

3、数据分析主要包含:

1. 简单数学运算(Simple Math)

2. 统计(Statistics)

3. 快速傅里叶变换(FFT)

4. 平滑和滤波(Smoothing and Filtering)

5.基线和峰值分析(Baseline and Peak Analysis)

数据来源

1、搜索引擎蜘蛛抓取数据;

2、网站IPPV等基本数据;

3、网站的HTTP响应时间数据;

4、网站流量来源数据。

实际应用

解释完以上内容后,相信大家已经对关联分析规则有了一个大致的概念。接下来我们进行实操,针对所有知识点进行两两组合,分别统计在未掌握知识点1的情况下未掌握知识点2的学生出现的数量、支持度、置信度和提升度。

因为阅读本文的你很有可能并不会代码(产品经理也不需要会代码,了解整体思路即可),我们就直接给出代码运行结果(有兴趣的小伙伴可以去自学下,工具为Python,库为sys,Pandas,apriori), 我们根据出现的实例数进行降序,并找到提升度>1的知识对,得到如下表格。

通过表格我们可以发现(牵扯到公司数据安全,这里我们就使用ID来进行说明),ID为0131535的知识点与ID为0134176的知识点同时未掌握的频次最高。并且,两个知识点未掌握知识点0131535的学生,同时未掌握的知识点0134176的概率是47.23%,未掌握知识点0131535将会增加未掌握知识点0134176的可能性,提升度为1.341。

我们可以建议老师在学生若未掌握知识点0134176 的时候,可以适当讲解知识点0131535。

并且通过如上分析结果,我们可以提炼学生知识点间掌握程度的关联(也可扩展到多个知识点),一个8年级的知识点学不会可能是因为6、7年级的某些知识点没有掌握而导致的,以此来搭建学生知识图谱,帮助学生追根溯源,找到知识漏洞。长治大数据。