【问题标题】:How to compare a experimental cluster algorithm with expected results [duplicate]如何将实验集群算法与预期结果进行比较
【发布时间】:2018-04-21 20:20:32
【问题描述】:

哪种方法是检查集群算法(在本例中为 K-Means)准确度的最佳方法?我已经知道组的真正分离是由更高级的算法实现的。

但是,我正面临着一堵墙。如何确定我的第 1 组与他们的第 2 组相同?如果分离相同,这可以手动完成。但是,由于结果彼此不同,“手工”似乎不值得,最好采用 CS 方法/统计。

您知道我可以使用哪种算法来解决这个问题吗?

请看一下这两个对象。第一个是时间序列的预期分离,第二个是我对它们进行分组的方式。

检查两者的前 6 个元素,并查看预期数据中的第 3 组可能与 my 第 3 组相同。但是,他们的 元素 4第 4 组和第 2 组中的 5 和 5 插入到第 6 组 my 中。因此,我如何确定我的第 6 组是他们的第 2 组还是第 4 组,以便计算命中率.

c(3L, 3L, 3L, 4L, 2L, 2L, 5L, 6L, 4L, 4L, 6L, 6L, 6L, 5L, 1L, 
1L, 2L, 2L, 3L, 6L, 5L, 6L, 4L, 5L, 5L, 5L, 2L, 5L, 2L, 2L, 5L, 
5L, 1L, 2L, 1L, 6L, 5L, 4L, 4L, 5L, 2L, 2L, 3L, 2L, 1L, 5L, 6L, 
6L, 2L, 6L, 6L, 4L, 3L, 6L, 4L, 3L, 2L, 3L, 5L, 3L, 5L, 1L, 5L, 
6L, 5L, 2L, 1L, 6L, 3L, 6L, 3L, 3L, 3L, 5L, 5L, 2L, 2L, 4L, 5L, 
4L, 6L, 3L, 2L, 3L, 1L, 4L, 2L, 3L, 4L, 3L, 1L, 3L, 1L, 5L, 3L, 
4L, 5L, 1L, 5L, 5L, 5L, 4L, 3L, 6L, 2L, 6L, 6L, 1L, 5L, 4L, 2L, 
1L, 2L, 5L, 2L, 5L, 6L, 2L, 3L, 6L, 6L, 3L, 4L, 6L, 4L, 3L, 1L, 
6L, 2L, 5L, 6L, 3L, 3L, 1L, 2L, 1L, 1L, 1L, 6L, 2L, 3L, 2L, 1L, 
5L, 3L, 4L, 4L, 2L, 5L, 3L, 4L, 1L, 1L, 5L, 2L, 3L, 6L, 2L, 1L, 
4L, 2L, 3L, 1L, 6L, 5L, 6L, 1L, 6L, 1L, 1L, 4L, 1L, 1L, 2L, 1L, 
4L, 3L, 3L, 3L, 4L, 2L, 4L, 4L, 6L, 3L, 5L, 6L, 5L, 6L, 2L, 4L, 
1L, 1L, 2L, 1L, 2L, 4L, 4L, 1L, 4L, 5L, 6L, 3L, 5L, 5L, 5L, 1L, 
3L, 6L, 3L, 4L, 1L, 6L, 3L, 3L, 3L, 5L, 6L, 6L, 2L, 4L, 3L, 5L, 
6L, 1L, 1L, 1L, 1L, 2L, 5L, 5L, 4L, 2L, 3L, 5L, 1L, 4L, 4L, 3L, 
2L, 4L, 6L, 1L, 3L, 3L, 5L, 3L, 3L, 2L, 1L, 4L, 4L, 1L, 6L, 1L, 
6L, 6L, 6L, 3L, 2L, 5L, 5L, 2L, 2L, 5L, 2L, 4L, 2L, 4L, 4L, 2L, 
5L, 5L, 6L, 4L, 4L, 3L, 3L, 4L, 3L, 2L, 4L, 6L, 2L, 1L, 2L, 3L, 
5L, 6L, 5L, 3L, 1L, 6L, 5L, 1L, 4L, 4L, 4L, 4L, 2L, 3L, 1L, 4L, 
3L, 5L, 4L, 6L, 1L, 5L, 6L, 1L, 1L, 1L, 1L, 6L, 6L, 2L, 1L, 1L, 
5L, 4L, 1L, 3L, 3L, 6L, 2L, 2L, 1L, 6L, 2L, 2L, 3L, 4L, 6L, 1L, 
3L, 4L, 6L, 6L, 3L, 6L, 4L, 1L, 4L, 1L, 3L, 4L, 5L, 2L, 5L, 3L, 
4L, 6L, 6L, 1L, 1L, 1L, 3L, 4L, 5L, 5L, 4L, 2L, 1L, 1L, 2L, 2L, 
2L, 4L, 5L, 5L, 2L, 5L, 2L, 3L, 6L, 4L, 4L, 5L, 6L, 4L, 6L, 4L, 
3L, 5L, 5L, 3L, 2L, 2L, 3L, 6L, 2L, 4L, 5L, 1L, 6L, 2L, 4L, 1L, 
6L)

--

c(3, 3, 3, 6, 6, 6, 2, 6, 6, 6, 6, 6, 6, 2, 1, 1, 6, 6, 3, 6, 
2, 6, 6, 2, 2, 2, 6, 2, 6, 6, 2, 2, 1, 6, 1, 6, 2, 6, 6, 2, 6, 
6, 3, 6, 1, 2, 6, 6, 6, 6, 6, 6, 3, 6, 6, 3, 6, 3, 2, 3, 2, 1, 
2, 6, 2, 6, 1, 6, 3, 6, 3, 3, 3, 2, 2, 6, 6, 6, 2, 6, 6, 3, 6, 
3, 1, 6, 6, 3, 6, 3, 1, 3, 1, 2, 3, 6, 2, 1, 2, 2, 2, 6, 3, 6, 
6, 6, 6, 1, 2, 6, 6, 1, 6, 2, 6, 2, 6, 6, 3, 6, 6, 3, 6, 6, 6, 
3, 1, 6, 6, 2, 6, 3, 3, 1, 6, 1, 1, 1, 6, 6, 3, 6, 1, 2, 3, 6, 
6, 6, 2, 3, 6, 1, 1, 2, 6, 3, 6, 6, 1, 6, 6, 3, 1, 6, 2, 6, 1, 
6, 1, 1, 6, 1, 1, 6, 1, 6, 3, 4, 3, 6, 6, 6, 6, 6, 3, 2, 6, 2, 
6, 6, 6, 1, 1, 6, 1, 6, 6, 6, 1, 6, 2, 6, 3, 2, 2, 2, 1, 3, 6, 
3, 6, 1, 6, 3, 3, 3, 2, 6, 6, 6, 6, 3, 2, 6, 1, 1, 1, 1, 6, 2, 
2, 6, 6, 3, 2, 1, 6, 6, 3, 6, 6, 6, 1, 3, 3, 2, 3, 3, 6, 1, 6, 
6, 1, 6, 1, 6, 6, 6, 3, 6, 5, 2, 6, 6, 2, 6, 6, 6, 6, 6, 6, 2, 
2, 6, 6, 6, 3, 3, 6, 3, 6, 6, 6, 6, 1, 6, 3, 2, 1, 4, 3, 1, 6, 
2, 1, 6, 6, 6, 6, 6, 3, 1, 6, 3, 2, 6, 6, 1, 2, 6, 1, 1, 1, 1, 
6, 6, 6, 1, 1, 2, 6, 1, 3, 3, 6, 6, 6, 1, 6, 6, 6, 3, 6, 6, 1, 
3, 6, 6, 6, 3, 6, 6, 1, 6, 1, 3, 6, 2, 6, 2, 3, 6, 6, 6, 1, 1, 
1, 3, 6, 2, 2, 6, 6, 1, 1, 6, 6, 6, 6, 2, 2, 6, 2, 6, 3, 6, 6, 
6, 2, 6, 6, 6, 6, 3, 2, 2, 3, 6, 6, 3, 6, 6, 6, 2, 1, 6, 6, 6, 
1, 6)

注意:对象由R中的dput函数生成

【问题讨论】:

  • try library(caret); confusionMatrix(vector2, vector1) 1 在两个向量中都是 1,3 是 3。2,4 和 6 都是 6。您可以在第二个向量中将组 5 转换为 2,将组 2 转换为 5,那就是差不多吧。所以你会得到 1 ~ 1、2 ~2、3 ~3 和 4,5,6 ~ 6
  • 感谢您的回复。好吧,我期待团体的数量同意。没有办法调节吗?
  • 查阅有关外部集群验证的书籍(或维基百科)。你不是第一个遇到这个问题的人。人们为此提出了十几个措施,所以不要重新发明轮子。

标签: r algorithm cluster-analysis data-mining k-means


【解决方案1】:

看看兰德指数度量:https://en.wikipedia.org/wiki/Rand_index

library(fossil)

> rand.index(x, y)
[1] 0.8304887
> adj.rand.index(x,y)
[1] 0.5589514

(这里x 是您的第一个矩阵,y 是您的第二个)

Rand Index 计算在xy 之间两对聚集在一起或不聚集在一起的次数比例。

例子:

x:1,2 ... y:1,3 ...

这个案例是+1

x:1,1 ... y:2,2 ...

这种情况也是+1

x: 1,1 ... y: 1,2 ...

本例为0。

然后除以对的总数。

调整后的 rand 指数减去偶然获得的比例(因此 adj.rand.index = 0 是随机的)。在这种情况下,您的集群做得很好。

【讨论】:

    猜你喜欢
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多