k均值聚类有什么作用(k均值聚类算法的基本原理)
导语:这样讲K均值聚类,简单又清楚!
点击上方关注,All in AI中国
K均值聚类是最简单和最受欢迎的无监督机器学习算法之一。
通常,无监督算法仅使用输入向量从数据集进行推断,而不参考已知或标记的结果。
AndreyBu拥有超过5年的机器学习经验,目前向人们教授他的技能,他表示“K-means的目标很简单:将类似的数据分组在一起,发现潜在的模式。为了实现这一目标,K-means在数据集中查找固定数量(k)的聚类。”
集群是指由于某些相似性而聚合在一起的数据点集合。
您将定义一个目标数字k,它指的是数据集中所需的质心数,质心是表示集群中心的虚构或真实位置。
通过减少簇内平方和,将每个数据点分配给每个簇。
换句话说,K-means算法识别k个质心,然后将每个数据点分配给最近的簇,同时保持质心尽可能小。
K均值中的“均值”是指数据的平均值;也就是说,找到质心。
K-means算法如何工作
为了处理学习数据,数据挖掘中的K均值算法从第一组随机选择的质心开始,这些质心用作每个聚类的起始点,然后执行迭代(重复)计算以优化质心的位置。
它可以在以下情况之一停止创建和优化集群:
质心已经稳定- 它们的值没有变化,因为聚类已经成功。已经实现了定义的迭代次数。K-means算法示例问题
让我们看看K-means机器学习算法如何使用Python编程语言工作的步骤。
我们将使用Scikit-learn库和一些随机数据来说明K-means聚类的简单解释。
第1步:导入库
从上面的代码中可以看出,我们将在项目中导入以下库:
用于阅读和编写电子表格的熊猫Numpy用于执行高效计算Matplotlib用于数据可视化第2步:生成随机数据
以下是在二维空间中生成一些随机数据的代码:
总共产生了100个数据点并分成两组,每组50个点。
以下是数据在二维空间中的显示方式:
第3步:使用Scikit-Learn
我们将使用Scikit-learn库中的一些可用函数来处理随机生成的数据。
这是代码:
在这种情况下,我们任意给k(n_clusters)一个任意值2。
以下是运行代码时得到的K-means参数的输出:
第4步:找到质心
以下是查找集群中心的代码:
这是质心值的结果:
让我们显示集群中心(使用绿色和红色)。
这是输出:
第5步:测试算法
以下是获取K-means聚类示例数据集的标签属性的代码;也就是说,数据点如何被划分为两个集群。
以下是运行上述K-means算法代码的结果:
如您所见,50个数据点属于0集群,而其余数据属于1个集群。
例如,让我们使用下面的代码来预测数据点的集群:
结果如下:
总结:
以下是Python中的整个K-means聚类算法代码:
K均值聚类是一种广泛使用的数据聚类分析技术。
这很容易理解,特别是如果您使用K-means集群教程加速学习。它可以快速提供训练结果。
然而,其性能通常不如其他复杂的聚类技术那样具有竞争力,因为数据的微小变化可能导致高度变化。
此外,假设簇是球形的并且大小均匀,这可能会降低K-means聚类Python结果的准确性。
本文内容由小涵整理编辑!