快捷搜索:  汽车  科技

k均值聚类如何确定k值(这样讲K均值聚类)

k均值聚类如何确定k值(这样讲K均值聚类)K均值中的“均值”是指数据的平均值;也就是说,找到质心。换句话说,K-means算法识别k个质心,然后将每个数据点分配给最近的簇,同时保持质心尽可能小。集群是指由于某些相似性而聚合在一起的数据点集合。您将定义一个目标数字k,它指的是数据集中所需的质心数,质心是表示集群中心的虚构或真实位置。通过减少簇内平方和,将每个数据点分配给每个簇。

点击上方关注,All in AI中国

K均值聚类是最简单和最受欢迎的无监督机器学习算法之一。

通常,无监督算法仅使用输入向量从数据集进行推断,而不参考已知或标记的结果。

AndreyBu拥有超过5年的机器学习经验,目前向人们教授他的技能,他表示“K-means的目标很简单:将类似的数据分组在一起,发现潜在的模式。为了实现这一目标,K-means在数据集中查找固定数量(k)的聚类。”

集群是指由于某些相似性而聚合在一起的数据点集合。

您将定义一个目标数字k,它指的是数据集中所需的质心数,质心是表示集群中心的虚构或真实位置。

通过减少簇内平方和,将每个数据点分配给每个簇。

换句话说,K-means算法识别k个质心,然后将每个数据点分配给最近的簇,同时保持质心尽可能小。

K均值中的“均值”是指数据的平均值;也就是说,找到质心。

K-means算法如何工作

从上面的代码中可以看出,我们将在项目中导入以下库:

  • 用于阅读和编写电子表格的熊猫
  • Numpy用于执行高效计算
  • Matplotlib用于数据可视化

第2步:生成随机数据

以下是在二维空间中生成一些随机数据的代码:

k均值聚类如何确定k值(这样讲K均值聚类)(1)

总共产生了100个数据点并分成两组,每组50个点。

以下是数据在二维空间中的显示方式:

k均值聚类如何确定k值(这样讲K均值聚类)(2)

第3步:使用Scikit-Learn

我们将使用Scikit-learn库中的一些可用函数来处理随机生成的数据。

这是代码:

k均值聚类如何确定k值(这样讲K均值聚类)(3)

在这种情况下,我们任意给k(n_clusters)一个任意值2。

以下是运行代码时得到的K-means参数的输出:

k均值聚类如何确定k值(这样讲K均值聚类)(4)

第4步:找到质心

以下是查找集群中心的代码:

k均值聚类如何确定k值(这样讲K均值聚类)(5)

这是质心值的结果:

k均值聚类如何确定k值(这样讲K均值聚类)(6)

让我们显示集群中心(使用绿色和红色)。

k均值聚类如何确定k值(这样讲K均值聚类)(7)

这是输出:

k均值聚类如何确定k值(这样讲K均值聚类)(8)

第5步:测试算法

以下是获取K-means聚类示例数据集的标签属性的代码;也就是说,数据点如何被划分为两个集群。

k均值聚类如何确定k值(这样讲K均值聚类)(9)

以下是运行上述K-means算法代码的结果:

k均值聚类如何确定k值(这样讲K均值聚类)(10)

如您所见,50个数据点属于0集群,而其余数据属于1个集群。

例如,让我们使用下面的代码来预测数据点的集群:

k均值聚类如何确定k值(这样讲K均值聚类)(11)

结果如下:

k均值聚类如何确定k值(这样讲K均值聚类)(12)

总结:

以下是Python中的整个K-means聚类算法代码:

k均值聚类如何确定k值(这样讲K均值聚类)(13)

K均值聚类是一种广泛使用的数据聚类分析技术。

这很容易理解,特别是如果您使用K-means集群教程加速学习。它可以快速提供训练结果。

然而,其性能通常不如其他复杂的聚类技术那样具有竞争力,因为数据的微小变化可能导致高度变化。

此外,假设簇是球形的并且大小均匀,这可能会降低K-means聚类Python结果的准确性。

k均值聚类如何确定k值(这样讲K均值聚类)(14)

猜您喜欢: