机器学习中K—means聚类算法的分析和应用
- 格式:doc
- 大小:783.00 KB
- 文档页数:7
kmeans 算法K-Means算法,也称为K均值聚类算法,是一种无监督机器学习方法,用于将数据集分成K个簇群。
该算法的核心思想是将数据点划分为不同的簇群,使得同一簇群内的点相似度尽可能高,而不同簇群之间的相似度尽可能低。
该算法可用于许多领域,如计算机视觉、医学图像处理、自然语言处理等。
1.工作原理K-Means算法的工作原理如下:1. 首先,从数据集中随机选择K个点作为初始簇群的中心点。
2. 接下来,计算每个数据点与K个中心点之间的距离,并将它们归入距离最近的簇群中。
这个过程称为“分配”。
3. 在所有数据点都被分配到簇群后,重新计算每个簇群的中心点,即将簇群中所有数据点的坐标取平均值得出新的中心点。
这个过程称为“更新”。
4. 重复执行2-3步骤,直到簇群不再发生变化或达到最大迭代次数为止。
2.优缺点1. 简单易懂,实现方便。
2. 可用于处理大量数据集。
1. 随机初始化可能导致算法无法找到全局最优解。
2. 结果受到初始中心点的影响。
3. 对离群值敏感,可能导致簇群数量不足或簇群数量偏多。
4. 对于非球形簇群,K-Means算法的效果可能较差。
3.应用场景K-Means算法可以广泛应用于许多领域,如:1. 机器学习和数据挖掘:用于聚类分析和领域分类。
2. 计算机视觉:用于图像分割和物体识别。
3. 自然语言处理:用于文本聚类和词向量空间的子空间聚类。
4. 财务分析:用于分析财务数据,比如信用评分和市场分析。
5. 医学图像处理:用于医学影像分析和分类。
总之,K-Means算法是一种简单有效的聚类算法,可用于处理大量数据集、连续型数据、图像和文本等多种形式数据。
但在实际应用中,需要根据具体情况选择合适的簇群数量和初始中心点,在保证算法正确性和有效性的同时,减少误差和提高效率。
kmeans的聚类算法K-means是一种常见的聚类算法,它可以将数据集划分为K个簇,每个簇包含相似的数据点。
在本文中,我们将详细介绍K-means算法的原理、步骤和应用。
一、K-means算法原理K-means算法基于以下两个假设:1. 每个簇的中心是该簇内所有点的平均值。
2. 每个点都属于距离其最近的中心所在的簇。
基于这两个假设,K-means算法通过迭代寻找最佳中心来实现聚类。
具体来说,该算法包括以下步骤:二、K-means算法步骤1. 随机选择k个数据点作为初始质心。
2. 将每个数据点分配到距离其最近的质心所在的簇。
3. 计算每个簇内所有数据点的平均值,并将其作为新质心。
4. 重复步骤2和3直到质心不再变化或达到预定迭代次数。
三、K-means算法应用1. 数据挖掘:将大量数据分成几组可以帮助我们发现其中隐含的规律2. 图像分割:将图像分成几个部分,每个部分可以看做是一个簇,从而实现图像的分割。
3. 生物学:通过对生物数据进行聚类可以帮助我们理解生物之间的相似性和差异性。
四、K-means算法优缺点1. 优点:(1)简单易懂,易于实现。
(2)计算效率高,适用于大规模数据集。
(3)结果可解释性强。
2. 缺点:(1)需要预先设定簇数K。
(2)对初始质心的选择敏感,可能会陷入局部最优解。
(3)无法处理非球形簇和噪声数据。
五、K-means算法改进1. K-means++:改进了初始质心的选择方法,能够更好地避免陷入局部最优解。
2. Mini-batch K-means:通过随机抽样来加快计算速度,在保证精度的同时降低了计算复杂度。
K-means算法是一种常见的聚类算法,它通过迭代寻找最佳中心来实现聚类。
该算法应用广泛,但也存在一些缺点。
针对这些缺点,我们可以采用改进方法来提高其效果。
聚类算法:K-Means和DBSCAN的比较聚类是一种无监督学习的方法,它将数据分组成具有相似特征的集合,称为簇(cluster)。
簇分析是统计学、计算机科学、机器学习和数据挖掘等领域中的常用技术之一。
目前,聚类算法已广泛应用于用户行为分析、市场营销、图像处理、生物信息学、搜索引擎、社交网络等领域。
在聚类算法中,K-Means和DBSCAN是两种具有代表性的算法。
本文将从算法原理、优缺点、适用场景等方面对它们进行比较分析。
一、K-Means算法K-Means算法是一种基于距离的聚类算法。
它的基本思想是从数据集中选取k个初始聚类中心,不断迭代,把每个数据点归为距离最近的聚类中心所在的簇。
K-Means算法的优点是计算简单、速度快、可并行计算,适用于处理大规模数据集。
但是K-Means算法的聚类结果受初始聚类中心的影响较大,算法的性能对于簇的形状、大小和分布较为敏感。
算法流程:1.选择k个聚类中心2.对于每个数据点,计算距离最近的聚类中心,将其划分到相应的簇中3.对于每个簇,重新计算该簇的聚类中心4.重复步骤2和步骤3,直到聚类中心不再变化或达到最大迭代次数二、DBSCAN算法DBSCAN算法是一种基于密度的聚类算法。
它的基本思想是将密度高于某一阈值的数据点定义为核心点(Core Points),将与核心点距离不超过一定距离的数据点归为同一个簇(Cluster),将距离较远的数据点称为噪声点(Noise)。
DBSCAN算法的优点是可以自动识别任意形状的簇,对初始聚类中心不敏感,适用于处理稠密数据集。
但是DBSCAN算法的聚类结果对于数据点密度分布的敏感度较高,平均时间复杂度较高。
算法流程:1.对于每个数据点,计算其邻域(Neighborhood)内的数据点个数,如果邻域内的数据点个数大于等于密度阈值,则该点为核心点,否则该点为噪声点2.将所有核心点加入到一个簇中,对每个核心点进行扩展,将邻域内的数据点加入到该簇中,直到不能再扩展3.继续处理下一个未被归类的核心点,直到所有核心点都在某个簇中或被标记为噪声点三、K-Means和DBSCAN的比较1.聚类精度K-Means算法适用于簇形状较为规则且大小相似的数据集,但对于不规则形状、大小差异较大的数据集,其聚类效果并不理想。
kmeans聚类算法简单例题讲解K-Means聚类算法是目前机器学习中最简单的一种聚类算法,通常用于将样本分到最合适的组中,其从概念上来看就是将相似的样本聚在一起。
K-Means聚类算法假设类内点的方差最小,这一假设称为最小化类内平方和(Within-Cluster Sum of Squares)。
这一算法简单实用,且结果往往受到较少影响,被广泛应用于聚类任务中。
本文将以一个简单的例子来讲解K-Means聚类算法的原理和实现方法,帮助读者更好的理解和使用K-Means聚类算法。
假设有一组包含5个样本的数据,在二维空间(X轴和Y轴)映射出来的结果如下:(2,4)、(3,2)、(1,1)、(0,3)和(5,6)K-Means聚类算法的基本流程为:1.先,我们需要指定类别的个数K,这里我们可以指定K=2,代表将样本分为两类2.下来,我们需要随机初始化每个类的中心点,这里我们分别将中心点定为(2,4)和(5,6),表示类1的中心点为(2,4),类2的中心点为(5,6)3.下来,每个样本将会和每个类的中心点比较,以距离最小的为准,依次划分到类1或类2中4.后,我们计算每个类的平均值,将其作为新的类中心点,重复步骤3,直到类中心点不再发生改变在本次任务中,我们共经历了四次计算:第一次:将样本划分为两个类,第一类的中心点为(2,4),第二类的中心点为(5,6),按照最小距离原则,(2,4)和(3,2)划分到第一类,(1,1)和(0,3)划分到第二类,(5,6)表示第二类的中心点,但也属于第二类:第二次:计算每个类的平均值,第一类为(2.5,3),第二类为(2.5,4),将其作为新的类中心点:第三次:按照最小距离原则,(2,4)、(3,2)划分到第一类,(1,1)、(0,3)和(5,6)划分到第二类:第四次:计算每个类的平均值,第一类为(2.3,3.3),第二类为(2.5,4.5),将其作为新的类中心点:从上述例子可以看出,K-Means聚类算法是一种有效的方法,可以将样本数据划分至最合适的类别中。
kmeans应用案例K-means 应用案例。
K-means 是一种常见的聚类算法,它可以对数据进行分组,找出数据中的相似性,并将数据划分为不同的类别。
在实际应用中,K-means 算法被广泛应用于数据挖掘、模式识别、图像分割等领域。
下面将介绍 K-means 算法在实际案例中的应用。
首先,我们来看一个简单的 K-means 应用案例,鸢尾花数据集。
鸢尾花数据集是一个经典的数据集,其中包含了鸢尾花的四个特征,花萼长度、花萼宽度、花瓣长度和花瓣宽度。
我们可以利用 K-means 算法对这些特征进行聚类,找出不同种类的鸢尾花。
通过 K-means 聚类分析,我们可以将鸢尾花数据集分为三个类别,分别对应于不同的鸢尾花种类。
这样的聚类结果有助于我们更好地理解鸢尾花数据的特点,对鸢尾花进行分类和识别。
除了鸢尾花数据集,K-means 算法还可以应用于其他领域。
例如,在市场营销中,我们可以利用 K-means 算法对客户进行分群,找出具有相似行为和偏好的客户群体,从而针对不同的客户群体制定个性化的营销策略。
在医学影像分析中,K-means 算法可以用于图像分割,将医学影像中的不同组织和结构进行分离,有助于医生更准确地诊断疾病。
在互联网广告投放中,K-means 算法可以对用户进行行为分析,找出具有相似兴趣和偏好的用户群体,从而提高广告的投放效果。
总的来说,K-means 算法是一种简单而有效的聚类算法,它在实际应用中具有广泛的应用前景。
通过对数据进行聚类分析,我们可以更好地理解数据的特点,发现数据中的规律和趋势,为决策提供有力的支持。
希望本文介绍的 K-means 应用案例能够帮助大家更好地理解和应用这一算法。
kmeans 聚类算法Kmeans聚类算法Kmeans聚类算法是一种基于距离的无监督机器学习算法,它可以将数据集分为多个类别。
Kmeans算法最初由J. MacQueen于1967年提出,而后由S. Lloyd和L. Forgy独立提出。
目前,Kmeans算法已经成为了机器学习领域中最常用的聚类算法之一。
Kmeans算法的基本思想是将数据集划分为k个不同的簇,每个簇具有相似的特征。
簇的数量k是由用户指定的,算法会根据数据集的特征自动将数据集分成k个簇。
Kmeans算法通过迭代的方式来更新每个簇的中心点,以此来不断优化簇的划分。
Kmeans算法的步骤Kmeans算法的步骤可以概括为以下几个步骤:1. 随机选择k个点作为中心点;2. 将每个数据点与离它最近的中心点关联,形成k个簇;3. 对于每个簇,重新计算中心点;4. 重复2-3步骤,直到簇不再变化或达到最大迭代次数。
Kmeans算法的优缺点Kmeans算法的优点包括:1. 算法简单易实现;2. 能够处理大规模数据集;3. 可以处理多维数据。
Kmeans算法的缺点包括:1. 需要用户指定簇的数量;2. 对于不规则形状的簇,效果不佳;3. 对于包含噪声的数据集,效果不佳。
Kmeans算法的应用Kmeans算法在机器学习和数据挖掘中有着广泛的应用。
以下是Kmeans算法的一些应用:1. 图像分割:将图像分为多个不同的区域;2. 文本聚类:将文本数据划分为多个主题;3. 市场分析:将消费者分为不同的群体,以便进行更好的市场分析;4. 生物学研究:将生物数据分为不同的分类。
总结Kmeans聚类算法是一种基于距离的无监督机器学习算法,它可以将数据集分为多个类别。
Kmeans算法的步骤包括随机选择中心点、形成簇、重新计算中心点等。
Kmeans算法的优缺点分别是算法简单易实现、需要用户指定簇的数量、对于不规则形状的簇效果不佳等。
Kmeans算法在图像分割、文本聚类、市场分析和生物学研究等领域有着广泛的应用。
k-模型的原理和应用原理k-模型,也称为k-means聚类模型,是一种常见的无监督学习算法。
其基本原理如下:1.初始化:选择要生成的k个聚类的初始中心点。
2.聚类过程:将每个样本点分配到离其最近的中心点,并更新聚类的中心点。
3.重复步骤2,直到满足停止准则(比如中心点不再变化)或达到最大迭代次数。
k-模型的核心思想是将样本点根据其特征进行分组,使得同组内的样本点之间的距离尽可能小,而不同组之间的距离尽可能大。
应用k-模型在各个领域中都有广泛的应用,以下是一些常见的应用场景:1.图像分割:通过将图像中的像素点聚类为不同的区域,从而实现图像的分割。
这对于图像处理、目标检测等应用非常有用。
2.客户细分:通过对客户的消费行为、偏好等进行聚类,可以将客户分为不同的细分群体,从而为市场营销、销售策略等决策提供参考。
3.文本挖掘:通过对文本进行聚类,可以将相似的文档归为一类,从而进行文本分类、情感分析等任务。
4.基因表达聚类:在生物信息学中,通过对基因表达数据进行聚类,可以帮助研究者发现潜在的基因功能、疾病等相关信息。
5.市场篮子分析:通过对顾客购物篮中的物品进行聚类,可以发现物品之间的关联性,进而实现商品推荐、交叉销售等目标。
6.无人驾驶:k-模型可以用于对车辆行驶轨迹进行聚类,从而识别出不同类型的驾驶行为,为无人驾驶系统提供决策依据。
7.虚拟现实:通过对虚拟现实中场景中的物体进行聚类,可以实现更加真实的场景仿真,提高用户体验。
k-模型的优点•算法简单,易于实现和理解。
•可扩展性强,适用于大规模数据集。
•在处理高维数据方面表现良好。
•无监督学习,不需要标注样本即可训练模型。
k-模型的缺点•需要事先确定要生成的聚类个数k,而且对初值敏感。
•对异常值较为敏感,可能导致聚类结果不准确。
•无法处理非凸形状的聚类。
总结k-模型作为一种常见的聚类算法,具有广泛的应用场景。
通过对各个样本点进行分组,可以实现多领域的数据分析、决策等任务。
机器学习中的聚类分析方法机器学习中的聚类分析是一种数据挖掘技术,该技术可以将大量的数据集按照特定的规则进行分类和分组。
聚类分析主要用于数据分析、分类、数据挖掘和模式识别等领域,该技术的应用范围非常广泛,包括自然语言处理、图像识别、推荐系统等领域。
在聚类分析中,数据集合被分为不同的类别,每个类别都有相似的属性、特征或属性。
聚类分析方法可以通过设置聚类算法的参数来对数据进行分组,对于同一类别的数据,聚类算法能够产生一个类别标签。
聚类分析方法的优点在于能够将大量不同的数据进行有意义的分类,从而可以实现多种应用。
聚类分析方法的类型在机器学习中,聚类分析方法主要分为以下几种类型:1. 划分式聚类:这种方法通过将数据集分成互不重叠的子集来实现聚类。
在划分式聚类中,每个数据点只属于一个簇。
这种方法适合于数据集中每个数据点都属于同一个类别的情况。
划分式聚类算法包括K-Means算法等。
2. 层次式聚类:这种方法通过渐进地将数据点分成更多的子集来实现聚类。
在层次式聚类中,每个数据点都可以被分配到多个簇中。
这种方法适合于数据集中数据点属于多个类别的情况。
层次式聚类算法包括凝聚层次聚类、分裂式层次聚类等。
3. 密度式聚类:这种方法通过密度划分数据簇来实现聚类。
密度式聚类算法包括DBSCAN、OPTICS等。
4. 模型式聚类:这种方法通过使用统计学模型来实现聚类。
模型式聚类算法包括高斯混合模型等。
其中,划分式聚类和层次式聚类是常用的聚类分析方法。
K-Means聚类算法K-Means算法是目前应用最多的划分式聚类算法之一,其主要思想是将输入数据分成K个簇,每个簇有一个中心点,根据输入数据与各个簇的中心距离进行分类。
K-Means算法通过多次更新簇中心点和分类,来达到最终的聚类结果。
K-Means算法的优点在于其算法简单、时间复杂度较低,同时也适合于大规模数据和高维数据的处理。
但是,K-Means算法也存在着一些问题。
首先,初始点的随机性可能会对聚类结果产生较大的影响。
k-means聚类算法研究及应用
K-means聚类算法研究及应用
一、简介
K-means聚类算法是一种非监督学习算法,它是一种广泛应用在模式分类和无监督式学习的数据挖掘技术。
它使用了基于距离的聚类算法,以相似性作为衡量子簇类别的标准,任务是将样本(属性)空间中的数据分为K个不同的类,使聚类的误差平方和最小化:通常假设样本由簇中心所处的子空间所构建,每个子空间由一个簇中心控制,因此K-means算法常常被形象地称为“均值聚类”算法。
二、原理
K-means聚类算法是一种迭代算法,它的基本思想是:首先,随机选取若干个“簇中心”,然后将其他的数据点根据其与“簇中心”的距离,归到最近的“簇中心”所代表的簇中。
然后根据新聚集的簇,重新更新这些“簇中心”;如此不断迭代,最终计算得到一组稳定的“簇中心”,这组“簇中心”所代表的簇就是最后的结果了。
三、应用
1、生物信息学:K-means聚类算法用于基因芯片和定量PCR,以及蛋白质表达数据。
2、计算机视觉:K-means用于图像分割,聚类,像素重新分配等。
3、自然语言处理:K-means用于文本聚类,文档分类,文本挖掘等方面。
4、机器学习:K-means用于各种拟合问题,比如参数估计,探索异常
值等等。
四、总结
K-means聚类算法是一种简单高效的聚类算法,它可以有效地将数据空间分割成几个簇,属于非监督学习算法,它的核心在于划分数据空间,对数据的模式分类和无监督式学习有较好的应用,如生物信息学、计
算机视觉、自然语言处理、机器学习等领域。
kmeans()的用法kmeans是一种用于聚类分析的算法,它通过将数据点分成不同的组或簇,使得同一组内的点相似度高,不同组之间的点相似度低,从而实现对数据的分类和分析。
kmeans算法一般分为两个步骤:初始化中心点和迭代更新簇中心点。
在使用kmeans算法时,需要按照以下步骤进行操作。
1. 导入数据首先需要导入数据。
kmeans算法的输入数据通常是一个二维数组或矩阵,其中每一行代表一个样本点,每一列代表该样本点的某个特征。
可以使用pandas库读取数据文件,如下所示:```import pandas as pddata = pd.read_csv("data.csv", header=None)```2. 初始化中心点kmeans算法需要指定簇的个数,即样本点被分成的组数。
在算法开始运行之前,需要从数据集中选择k个初始中心点,其中k为簇的个数。
可以使用随机数生成器从数据集中随机选择k个样本点作为中心点,如下所示:def init_centers(data, k):centers = []for i in range(k):center = random.choice(data)while center in centers:center = random.choice(data)centers.append(center)return centers```其中,init_centers()函数接受数据集和簇的个数作为参数,返回一个包含k个中心点的列表。
3. 计算距离kmeans算法使用距离来衡量数据点之间的相似度。
可以使用欧几里得距离或曼哈顿距离来计算两个数据点之间的距离,如下所示:def euclidean_distance(x1, x2):return math.sqrt(sum([(a - b) ** 2 for a, b in zip(x1, x2)]))其中,euclidean_distance()和manhattan_distance()函数分别计算两个数据点之间的欧几里得距离和曼哈顿距离。
机器学习中K—means聚类算法的分析和应用
作者:王子桥
来源:《中国科技纵横》2017年第04期
摘要:本文采用机器学习中的聚类算法对高水平足球联赛五十名顶尖球员的进攻数据进行无监督聚类学习和分析,并以进球数、射正数和助攻数为评价指标,将球员分成三个类别。
本文首先分析了K-means聚类算法的流程和特点,进而应用于对足球运动员比赛数据的聚类运算。
对聚类后的分类结果进行分析和比较,从而找出球员的优势劣势。
其结果不仅对球员个人发展有极大的指导作用,也对中国足球取长补短、提升自身能力有重要意义。
关键词:K-means算法;聚类;机器学习
中图分类号:TP18 文献标识码:A 文章编号:1671-2064(2017)04-0030-02
计算机是迄今为止最为高效的信息处理工具,特别是近年来随着互联网的发展,应用计算机辅助工作和学习已经成为常态。
但普通计算机缺乏自主学习的能力,只是被动地执行人为设定好的程序。
因此人们开始寻找一种能以与人类智能学习相似的方式进行数据处理的方法,于是人工智能应运而生。
从1997年深蓝在国际象棋中战胜卡帕罗耶夫,到2016年AlphaGo在围棋中击败李世石,不难看出,人工智能的发展潜力十分巨大。
然而,目前的人工智能仍处于十分初级的弱人工智能阶段,想要进一步发展人工智能就必须探索新的更有效的方法。
近年来,人工智能领域中的重要方向——机器学习,得到了越来越多的重视,顾名思义,机器学习是通过经验自动改进计算机算法的研究,[1]也就是说,机器学习能用数据或以往的经验优化计算机程序的性能标准,在不断进行自我学习的过程中,对机器自身程序算法进行优化。
在机器学习中,聚类是一种极其重要的算法。
聚类源于包括数学、计算机科学、经济学、生物学等的许多领域,其工作原理是通过研究各个样本之间的相似度,利用数学方法对样本进行分类。
[2]这其中,K-means算法是最为经典的聚类算法之一。
K-means算法是聚类分析中一种基于划分的算法,属于无监督的学习,该算法是聚类分析中一种十分经典且非常高效的方法,具有高效率和相对可伸缩的优点,在处理大数据集时简单快速,十分方便。
[3]
1 K-means算法
作为一种无监督的聚类算法,K-means算法在解决多个样本数据进行分类的问题时十分有效,给定一组样本{},K-means算法将会把样本聚成k个簇,具体步骤如下:
(1)根据给定的k值随机选取k个质心{}。
(2)重复迭代两步直到质心不变或变化很小:1)计算每一个样本i应属于的类别
=argmin,2)对每一个类别j,重新计算它的质心,其中k是已知的聚类数,是样本i与k个类别中最近的一类,质心位置是初始随机选定的。
其算法流程图如图1所示。
下面用算法图例来展示K-means算法的具体运算流程,如图2所示。
如上图所示,数据的初始分布如图(a)所示,数据点用二维平面的加号”+”表示,共9个数据点。
在图(b)中,用星号“*”表示K-means算法的初始聚类中心。
根据上述算法流程,K-means通过计算初始聚类中心到数据点的欧氏距离对样本点进行第一次分类,用红色与绿色表明第一次的分类结果,结果如图(b)所示。
在第一次分类后,对每一类的全部样本点重新计算质心,再次计算样本与每个质心的距离进行下一次分类,结果如图(c)。
重复该过程直到聚类质心的位置不变或质心变化很小达到稳定状态,结果如图(d),最终得到了样本的2分类结果。
由以上介绍,我们可以看出K-means算法操作简便,分类效率高。
在速度上有很明显的优势,特别是在处理大量复杂样本时,K-means能利用比较各个样本相似度特性的方法就使问题得到简化,从而达到快速分类的目的。
它的另一优点是时间复杂度较低,其时间复杂度可以表示为O(nkt)。
n是数据集中对象的数量,k是类别数,t是迭代次数。
也就是说,其时间复杂度是近于线性的,相对于其他的聚类算法复杂度较低。
然而K-means算法只能达到局部最优,因此在其k值的选择和初始质心的选取上较难控制,不同取值会导致较大的差异.且K-means对数据源要求较高,只适用于球状分布的聚类特性数据,不能处理非球状分布或差别很大的样本集,这是该算法一个很大的局限性。
另外,因为迭代次数无法确定,K-means算法的算法不够稳定,在某些特殊的数据集上可能导致其复杂度急剧增加,导致算法的运行效率较低。
2 球员数据应用
足球运动员在训练或比赛中会有许多个人表现的数据,比如进球数、助攻数等等。
对球员数据的合理分析有助于指导球员的训练和提升技术水平。
本文收集了欧洲范围内五大高水平联赛50名顶尖球员(排名榜前十名)的运动数据。
由于所列球员都为进攻性球员,故采取进球数、助攻数、射门成功率为评价指标,其中射门成功率为(进球数/射门数)*100%。
由于各个数据的变化范围不统一,因此首先对数据进行归一化处理,再读入K-means程序进行聚类分析。
在经过归一化处理之后,将50组数据读入K-means算法程序,并通过进球数、助攻数和射门成功率三维坐标进行显示,其分类结果如图3所示。
由该分类结果我们可以看出,越靠近坐标为(1,1,1)的点说明球员的数据越突出。
在本结果中,绿色类为数据较优秀的球员,蓝色类为数据一般的球员,而红色类为数据较差的球员。
在助攻数和射门成功率上,绿色类都要明显优于其他两组,而在进球数上,三个类别没有体现出明显的分类差异。
特别是,在助攻数这一评价标准中,三类的区分度尤其明显,这也就意味着,助攻数和射门成功率是衡量一个优秀球员最为关键的因素,而不仅仅是考量进球数。
这一点与人们一般认可进球数的常识相悖。
因此要想成为一名优秀的足球运动员,除了在保证进球数的基础上,提升助攻和射门成功率也是十分重要的方面。
但是,在本方法中也存在一定不足。
比如数据的采集,总共选取了50名球员的运动数据,而且主要取自于顶尖排名,但并不一定能够代表所有足球运动员的实际水平,具有一定的局限性。
另一方面,本方法所分析的助攻数、进球数和射门成功率这三项指标并不能完全代表一个球员的场上表现,只是选取了三个可量化的评价指标,为了得到更为全面的评价结论,还需要更加全方位的分析和总结。
3 结语
本文分析了机器学习中无监督聚类算法K-means的详细流程和典型应用。
对该算法的实现过程、算法流程进行了仔细的分析和讨论。
并将该算法应用在对顶尖足球运动员运动数据的聚类分析上,以进球数、射正数和助攻数为评价指标,将球员分成三个类别。
并对聚类后的分类结果进行分析和比较,发现助攻数是较进球数影响更大的因素,从而找出分辨球员的优劣的新标准。
该结果对足球运动员个人能力的提升上意义重大,更对中国足球未来的发展有一定指导作用。
参考文献
[1]曾华军,张银奎,等译.《机器学习》Tom M Mitchell[M].机械工业出版社,2003.
[2]马俊才,赵玉峰.基于分行维数的聚类分析研究[J].微生物学通报,1986.
[3]王颖,刘建平.基于改进遗传算法的kmeans聚类分析[J].工业控制计算机,2011.。