这是关于k-means聚类算法的问题。我有以下几点和数据S1的聚类。谁能告诉我如何计算与此聚类相关的总误差?我知道这不是一个严格的编程问题,但我的算法需要它。我认为答案应该是 4/3,但我不知道如何计算。谁能帮我?
x1= (2.0,1.0)
x2= (2.0,2.0)
x3= (1.0,2.0)
S1={ x1, x2, x3 }
这是关于k-means聚类算法的问题。我有以下几点和数据S1的聚类。谁能告诉我如何计算与此聚类相关的总误差?我知道这不是一个严格的编程问题,但我的算法需要它。我认为答案应该是 4/3,但我不知道如何计算。谁能帮我?
x1= (2.0,1.0)
x2= (2.0,2.0)
x3= (1.0,2.0)
S1={ x1, x2, x3 }
计算误差的方法有很多。这是一个。
首先计算集合的质心,C1 = (x1+x2+x3)/3。然后将误差计算为与质心的距离之和:E1 = d(C1-x1) + d(C1-x2) + d(C1-x3)。
在过去的几周里,我不得不寻找类似的东西。与大多数事情一样,找到正确的名称有很大帮助。您正在寻找集群有效性指数。我发现算法(和相关数学)的有用来源是 Gan、Ma 和 Wu 的“数据聚类理论、算法和应用”的第 17 章。亚马逊 100 美元以上的价格并不便宜,但我会发现这本书的其余部分很有用。虽然它涵盖了很多这些指标,但它缺乏对优缺点的很好讨论,所以你需要一些在线搜索。
最后,我尝试了 Davies Bouldin Index 和 Dunn's Index。邓恩工作得更好,但计算速度很慢,我选择了一个简化版本,它使用质心-质心距离(而不是组件点-点距离)和距质心的最大半径,而不是真实直径。到目前为止,这对我来说效果很好。
大多数各种指数都使用集群规模和分离度来衡量。