什么是群体分析?算法
通俗的讲,就是一类人或者一类事情经过分析后,得到共同的特征属性或者特异的特征属性,是一种对群体画标签的方法。机器学习
那么,怎么进行群体分析呢?学习
第一步,要学会分群。可使用机器学习算法中的分类与聚类等,固然也能够人为地对事物进行分类。对象
第二步,对分类好的数据进行分析,画出对应的标签。本文将使用人为分类的办法,对学霸与学渣在图书馆借书、图书馆出入状况进行分析,剖析出学霸与学渣借书的区别,用数听说明学渣是否是必定不去图书馆等问题。排序
1、数据准备it
(一)表结构说明 foreach
加载已经对每一个学生ID进行多维度画像的df表,df表的结构以下:书籍
(二)记录条数说明循环
总共包含29列,总共记录条数为21605条,以下:方法
(三)记录内容说明
数据记录以下:
2、数据分类
(一)数据分类思路
根据学院和学生成绩的排名,取不一样学院的前50名和后50名,对不一样学院前50名的学霸组成一张表a,对不一样学院倒数后50名的组合生成一张表b。分别对a、b表作异常数据的剔除,最后得到学霸和学渣数据各969条数。
(二)步骤
一、对导入FEA的df表作排序操做,排序的对象为college列和score_pm列,使用以下语句:
df=order df by (college,score_pm) with (desc,asc)
二、使用foreach循环,分别获取各学院的学霸与学渣记录;
三、组成a表和b表,并处理异常数据;
3、群体分析
(一)群体分析思路
第一种,取消费、住宿等维度的平均值进行比较。
第二种,只取学生成绩、学生图书馆借书、学生进出记录关联分析,抛开住宿、消费维度。
(二)分析过程
第一种我作过,结果以下:
比较结果没法区分学霸与学渣之间鲜明的特征,最大的两个特征是学渣得到的助学金多,学霸晚归次数比较多,消费平均数比较大。
去查找了为何产生这种没有鲜明特征的缘由,发现本次数据是通过脱敏处理的,学生成绩排名不分年级,不分专业,只是将全部成绩按学分加权求和,而后除以学分总和,再按照学生所在学院排序。因此,低年级学生怎么可能比高年级学生学分高啊?!
经过第一种思路的分析,说明咱们本次数据准备并不完美,或者说自己就是有必定的错误存在。学霸的数据应该是高年级同窗中的学霸,而不是学院中各年级各专业的学霸,学渣多是低年级学渣占多数,并且过几年他们不必定是学渣。因此本次群体分析的立论,应该改成高年级学霸与低年级学渣比较合适。
经过第二种思路,咱们只分析图书馆借书维度。先分析学霸和学渣中有多少人没有借过书?
学霸有197人没有借书,学渣有181没有借书。再分析借书总数、平均数、借书人平均数等数据。
接着,分析学霸与学渣都关注哪一种类型的书籍。
由于本数据来自工科类大学,因此工业技术类书籍占到第一。第二是文学类,第三语言与文字,第四数理化,第五是经济,第六是哲学,第七是政治法律,第八是历史,具体排名见最后图表。
最后,咱们看一下借书类型的总次数。
经过上图发现学渣同窗比学霸借的书多,具体排名为:第一是语言、文学,第二是经济,第三是政治、法律。可是学霸与学渣借书的类型、数量上相差不大。
4、群体分析结论
经过上面分析,咱们得出如下结论:
第1、学霸、学渣人数各969,可是学霸不借书的人数多于学渣;
第2、学霸借书平均数大于学渣;
第3、被分类到学渣类的同窗去图书馆平均次数多于学霸,估计缘由为高年级学霸到后期可能忙着找工做;
第4、被分类到学渣类的同窗,比学霸更加关注经济、政治、法律、文字、语言类的书籍。
第5、从数据能够看出,学霸与学渣都是很努力学习的。