基于K-medoids 方法的大学生体质健康分类研究

2020-12-07 06:46胡世平李博贾年
现代计算机 2020年30期
关键词:中心点处方聚类

胡世平,李博,贾年

(西华大学计算机与软件工程学院,成都610039)

0 引言

当今,健康问题越来越受人们的关注。在2017年,习近平主席在十九大报告中提出了健康中国的发展战略,这同时也表明国家对全民健康的重视。21 世纪,社会的竞争压力也越来越激烈,它不仅包括表面的智力竞争,同时也是对身体、心理等方面的考验,这些非智力因素同时决定着竞争的成败,而决定这方面的重要因素就是身体健康状况,但是目前大学生中一些群体缺乏锻炼意识,对科学锻炼身体的意识薄弱[1]。因此有效科学的提高大学生身体健康素质才是关键,而运动处方则是有效和科学提高身体健康的最佳方法[2]。关于运动处方的研究在国内越来越多,部分领域也愈加成熟,例如健身运动处方,可以针对不同年龄段,采取合适的运动处方来提高身体素质和预防疾病。医生往往也会根据经验给一些病人开出适合的运动处方。但是目前高校的学生数量越来越多,面对大量的学生数据,老师很难为每个学生设计个性化运动处方、从而高效科学地提高学生的身体素质。

因此采用合理的方法去分析评价体测数据和对学生进行合理的分类,并且如何合理地推荐处方是目前研究的重点。只有科学和有效的运动处方方案,才能够更好地让学生进行自我健康的体质管理[3-4]。为此,本文提出了一种基于无监督学习的大学生健康数据分类方法。该方法使用大学生的测试数据的BMI、肺活量、体前屈、立定跳远、50 米跑、1000 米跑(男)或800米(女)、引体向上(男)或仰卧起坐(女)作为输入数据,通过K-medoids 聚类算法,将体质类似的学生分在一起,老师可以根据不同的体质的学生,制定更针对性的个性化运动处方,科学高效地提高大学生身体素质。

1 K-medoids算法介绍

K-medoids 算法被称为K 中心点算法,也是一种常用的聚类算法,与K-means 聚类算法相似,也具有能够处理大型数据集,且最后聚类结果中簇与簇之间分离明显的优点。与K-means 相比,K-medoids 算法对噪声的鲁棒性更好,对于簇中那些脱离中心点很远的点不是很敏感,这样噪点对于簇的划分的影响就会大大减少。就因如此K-medoids 也被认为是对K-means的改进,但由于对于中心点更新时的计算量要更大,所以时间复杂度比k-means 要高[5]。

为对比聚类效果,本文采用不同数量集下K-me⁃doids 算法与K-means 算的戴维森堡丁指数(DBI),如表1 所示,用DBI 去进行聚类优劣比较发现,当学生体测数据变多时,K-medoids 算法的DBI 是小于Kmeans 算法的DBI,DBI 值小意味着类内距离越小,同时类间距离越大,聚类效果越好。可以看出K-medoids算法在多数据的情况下的聚类效果要好于K-means 算法,证明其在做大量学生体测数据进行聚类分类时的效果更好,且其鲁棒性也比K-means 算法好。

表1 戴维森堡丁指数(DBI)值比较

2 基于K-medoids方法的学生体质健康分类方法

2.1 数据收集

本文采用的是某高校的体质健康数据进行分析,该数据包括学生的个人信息以及体测数据,其中BMI、肺活量、体前屈、立定跳远、50 米跑、1000 米跑(男)或800 米(女)、引体向上(男)或仰卧起坐(女)等数据作为此次试验的输入数据,对应的也是《国家学生体质健康标准》中的8 项。

2.2 数据预处理

由于大学生体测数据量比较大,有可能含有许多噪声数据,我们先将数据进行整理,去除某些测试属性缺失的学生,如短跑,肺活量为0 的学生,部分体测数据如表2 所示。然后为了缩小不同的成绩和不同的评价指标带来的影响,我们将体测数据归一化,数据被限定到[-1,1],这样也有益于使用PCA 进行降维的时候表现的更好。归一化的部分数据如表3 所示。

表2 部分体测数据数据

表3 归一化后部分数据

2.3 数据处理

本方法对学生体测数据进行聚类分析,具体执行过程如下:

(1)首先,我们将采集到的6000 个学生体测数据放入矩阵,然后对数据进行预处理

(2)根据预处理过的学生数据矩阵来计算各个样本点之间的欧式距离,放到矩阵D 中,并且确定聚类个数k(表示有k 种体质分类)

(3)随机选取k 个中心点(每个中心点代表一个簇)

(4)根据距离矩阵D,将样本点分到距离它最近的中心点的簇中

(5)计算各个簇中的样本点到簇中其他样本点的距离,求出距离最小样本点作为新的中心点

(6)如果新的中心点集合与之前的中心点集合一样或者迭代次数达到最高次数,算法终止,输出最后一次各个簇中的样本点,如果不一样则返回(4)。

数据处理流程图如图1 所示。

图1 基于K-medoids方法的学生体质健康分类算法流程图

2.4 实验结果分析

随机从数据库抽取6000 条男生测试数据作为实验数据。使用K-medoids 算法进行分析,将BMI、肺活量、体前屈、立定跳远、50 米跑、1000 米跑(男)、引体向上(男)数据传入,将分类的个数k 定为10,表示将分为十类。迭代次数选取100 次,如果中心点集合没有变化或者达到最高次数还没有收敛则选取最后一次的中心点集合作为中心点,每个簇的最后的中心点向量和每个簇的数量如表4 和表5 所示。

表4 中心点向量

表5 每个集合中簇类的个数

将聚类结果用PCA(Principal Component Analysis,主成分分析)降维显示如图3 所示,PCA 能够使新的低维数据集会尽可能地保留原始数据的变量结果,但是需要注意,通过PCA 降维实际上也损失了一些信息,通过查看pca.explained_variance_ratio_值得出[0.99781126,0.00157304],可以看到保留的两个主成分,第一个主成分可以解释原始变异的99.78%,第二个主成分可以解释原始变异的0.15%。也就是说降成两维后仍保留了原始信息的99.93%左右。通过K-medoids 聚类算法,观察每个聚类特征,可以发现集合id5 中学生数据大部分为优秀且多个测试数据接近,集合id9 中,体测数据及格的居多且多个测试数据接近。这也表明该算法可以很好地让体质相似的学生分在一起,方便老师对学生制定个性化的运动处方。

图2 各个簇的分布情况

3 结语

由于大学生数量较大且体质测试数据没有任何规律性,导致了很难从中找出规律,老师也很难为每个学生设计个性化运动处方,从而高效科学地提高学生的身体素质。通过本文的聚类分析,我们可以轻松地找出相似体质的学生,通过分类出的学生体质特点,采取针对性强、个性化的运动处方来锻炼学生,可以更加有效科学地提高大学生的身体素质。

猜你喜欢
中心点处方聚类
一种傅里叶域海量数据高速谱聚类方法
一种改进K-means聚类的近邻传播最大最小距离算法
AR-Grams:一种应用于网络舆情热点发现的文本聚类方法
一种基于标准差的K-medoids聚类算法
Scratch 3.9更新了什么?
人间处方
如何设置造型中心点?
卫健委新规:药师将审核医生处方
基于Spark平台的K-means聚类算法改进及并行化实现
寻找视觉中心点