k均值聚类
假设您有一些数据可以绘制在一条直线上,并且您知道需要将其放入3个聚类中。也许它们是三种不同类型的肿瘤或其他细胞的测量值。为此,我们将使用K-means clustering。
步骤1:选择要在数据中标识的聚类数量。这就是“K”中的k均值聚类。在这种情况下,我们选择K=3。也就是说,我们要确定3个分类。有一种更有趣的方法来为K选择一个值,但我们稍后会讨论它。
image-20210109130447210.png步骤2:随机选取3个不同的数据点
步骤3:测量第一点到三个初始聚类的距离
image-20210109130650038.png步骤4:将第一个点分配到最近的聚类。在本例中,最近的聚类是蓝色聚类。现在我们对下一个点重复步骤3、4
image-20210109130909573.png步骤5:计算每个分类的均值,然后我们使用平均值重复刚才所做的(测量和聚类)。直到最后一次聚类没有发生任何变化,我们就完成了。
image-20210109130946701.png image-20210109131103583.pngK-means聚类与我们肉眼所做的相比是非常糟糕的。
image-20210109131324998.png 我们可以通过增加每个聚类内的变异(variation)来评估聚类的质量。因为K-means聚类无法“看到”最好的聚类,它唯一的选择是跟踪这些聚类,以及它们的总变异,然后在不同的起点重新做整个事情。
让我们回到一开始,K-means聚类选取3个初始聚类,然后对剩下的所有点进行聚类,计算每个聚类的均值,然后根据新的均值重新聚类。它不断重复,直到聚类不再变化。
现在数据聚在一起了,我们把每个聚在一起的变化加起来。
image-20210109131645054.png然后,在做一次。此时,K-means聚类知道第2个聚类是目前为止最好的聚类。但是它不知道它是不是最好的,所以它会多做几次(你让它做多少它就做多少),然后再回来如果它仍然是最好的,就返回它。
image-20210109131822159.png问题:你如何计算K的值?
- 一种判断方法是尝试K的不同值。
- k=1
- k=2
- .....
每次我们添加一个新的分类,每个分类内的总变化都比以前小。当每个聚类中只有一个点时,变异为0。然而,如果我们画出每个K值的方差减少,当K=3时,变异有很大的减小,但是在K=3之后,变异的减小就没有那么快了。这被称为“肘部图”,你可以通过在图中找到“肘部”来选择“K”。
image-20210109133925105.pngk均值聚类与层次聚类有什么不同?
- K-means聚类特别尝试将数据放入你指定的聚类数量中
- 分层聚类只是两两地告诉你哪两件事最相似。
如果我们的数据没有绘制在数轴上怎么办?
就像之前一样,你随机选三个点,我们用欧几里得距离,然后,就像之前一样,我们分配指向最近的聚类。然后,就像之前一样,我们计算每个分类的中心并重新聚类。
image-20210109134458048.png如果我的数据是热图怎么办?
如果我们只有两个样本,我们可以把它们重命名为X和y,然后我们把数据画成x / y图。那我们就能像之前一样进行聚类。注意:我们实际上不需要为了聚类数据而绘制数据。我们只需要计算物体之间的距离
image-20210109140439297.pngimage-20210109140545874.png
网友评论