学习目标
- 什么是监督式学习与无监督学习?
- 聚类算法的作用?
- 如何通过『数据集』组件下载数据。
- 欧几里德距离计算。
- 层次聚类算法模型基本逻辑。
- 如何使用『箱线图』观察数据分布。
任务描述
假设你是一个班主任,拿到学生的入学成绩,刚接触学生,对学生不是很了解,那么我们如何对学生有效的分组帮助他们快速的成长,怎么分组开展个性化教学呢?
传统简单的办法,我们习惯根据考试成绩来分组,但是每个学生不同学科的成绩差异很大,数学好的英语可能很差,我们常说物以类聚,人以群分,有相同学习目标的人放在一起容易形成共鸣,学习积极性也会高很多,因此我们希望能够帮助老师把学生合理的分组,这个问题事先我们并不知道学生属于哪个组,也不知道具体需要分成几个组,不大适合使用K均值来实现,我们应用层次聚类帮助老师实施差异化教学分组。
实验数据
便于说明算法的工作原理,我们采集了12个人两门课程的入学成绩数据。
在工作面板上拖动一个数据表组件(Data Table)连接文件组件(File)可以查看数据表格。
层次聚类
层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集划分可采用"自底向上"的聚合策略,也可采用"自顶向下"的分拆策略。
层次聚类算法原理
层次聚类方法的基本思想是:通过某种相似性测度计算节点之间的相似性,并按相似度由高到低排序,逐步重新连接个节点。该方法的优点是可随时停止划分,主要步骤如下:
1. 移除网络中的所有边,得到有n个孤立节点的初始状态;
2. 计算网络中每对节点的相似度;
3. 根据相似度从强到弱连接相应节点对,形成树状图
4. 根据实际需求横切树状图,获得社区结构
图片.png
两个组合数据点间的距离
计算两个组合数据点间距离的方法有三种,分别为Single Linkage,Complete Linkage和Average Linkage。在开始计算之前,我们先来介绍下这三种计算方法以及各自的优缺点。
Single Linkage
Single Linkage的计算方法是将两个组合数据点中距离最近的两个数据点间的距离作为这两个组合数据点的距离。这种方法容易受到极端值的影响。两个很相似的组合数据点可能由于其中的某个极端的数据点距离较近而组合在一起。
Complete Linkage
Complete Linkage的计算方法与Single Linkage相反,将两个组合数据点中距离最远的两个数据点间的距离作为这两个组合数据点的距离。Complete Linkage的问题也与Single Linkage相反,两个不相似的组合数据点可能由于其中的极端值距离较远而无法组合在一起。
Average Linkage
Average Linkage的计算方法是计算两个组合数据点中的每个数据点与其他所有数据点的距离。将所有距离的均值作为两个组合数据点间的距离。这种方法计算量比较大,但结果比前两种方法更合理。
实验设计
image实验分析
如图所示,我们将全部12个同学的成绩用散点图绘制,根据常识,我们将样本距离近的归为一类,直观的,我们将这12个样本分为4类比较合理,分别表示英语和数学成绩都正常发展的,英语偏科的,数学偏科的以及英语和数学发展都相对落后的。图中用四个不同颜色的区域表示这个类同学。
image为达到分类的目的,首先应用距离组件(Distances)计算样本对之间的距离,简单地,我们选择欧式距离,也就是平时我们说的平面上两个点之间的直线距离。
那么层次 聚类怎么工作的呢?首先我们把每一个点看成是一个类,从散点图上我们可以看出李瑞和洪海之间的距离最近,因此我们首先把这两个点(类)归为一类,重复这个过程,每次合并两个类,直到整个集合都被归为一个类,层次聚类的过程如图所示,最后我们选择一个合适的层数来决定具体我们要划分为多少个类。
image最后我们借助箱线图来分析分类的结果。
箱线图
image箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比 较。箱线图的绘制方法是:先找出一组数据的上边缘、下边缘、中位数和两个四分位数;然后, 连接两个四分位数画出箱体;再将上边缘和下边缘与箱体相连接,中位数在箱体中间。
不同于分类问题,聚类样本没有已知的标签。类似于学生的分组,没有一个具体的标准去评判分组的好坏,要根据具体应用去判断最终的聚类结果的价值。
网友评论