我需要为通过具有两个特征的 k-means 运行的数据做一个混淆矩阵。我知道这是一种聚类算法而不是分类算法,但我已经看到一些文章和问题已经完成了。我只是粗暴地分解答案并将其应用于我的情况。
我有看起来像这样的数据:
总数据包 | 总 TCP |
---|---|
2 | 0 |
0 | 0 |
0 | 0 |
4 | 0 |
1 | 1 |
4 | 2 |
0 | 0 |
0 | 0 |
0 | 0 |
1 | 1 |
0 | 0 |
93 | 85 |
1234 | 1232 |
699 | 695 |
4 | 4 |
2 | 2 |
0 | 0 |
0 | 0 |
0 | 0 |
0 | 0 |
0 | 0 |
4 | 0 |
0 | 0 |
4 | 0 |
6 | 4 |
3 | 3 |
0 | 0 |
0 | 0 |
0 | 0 |
这是数据文件的顶部,异常/异常值在 TCP 总列中超过 200。混乱开始的地方是理解这个链接k-means question中答案的含义,其中响应者在他关于如何做混淆矩阵的回答中提到了 k-means 标签和真值标签。我提供了上下文的报价:
“假设您有一些将标题分类为 k 组的黄金标准(事实),您可以将其与 KMeans 聚类(预测)进行比较。
唯一的问题是 KMeans 聚类与您的真实情况无关,这意味着它产生的聚类标签将与黄金标准组的标签不匹配。然而,对此有一种解决方法,即根据可能的最佳匹配将 kmeans 标签与真值标签匹配。”
有人知道我的例子中的标签是什么吗?我已经按照另一个链接Outlier Detection with K-means中的教程进行了操作,并且 K 为 1 似乎可以拾取异常值,如下图所示:
红色圆圈围绕异常值。就我所在的位置而言,我的程序达到了可以得到异常值的程度,但我想在此之上做一个混淆矩阵。我认为这与前面提到的 K-means 标签和真值标签有关,但我对如何进行有点迷茫。任何帮助将不胜感激,我希望帖子中有足够的信息。