我目前正在研究CluStream,对结果有一些疑问。我将继续解释:
如果将微簇聚簇使用K表示,我们都知道每个微簇都将属于最近的宏簇(计算中心之间的欧式距离)。
现在,查看以下示例结果:
我们可以看到宏集群没有将所有的微型集群归为一类……
这是什么意思?我们应该如何考虑不在某个宏集群内的微集群?我是否应该找到每个最接近宏的微簇来标记它们?
检查MOA源代码 on Github,我发现计算宏簇半径将偏差AVG乘以所谓的“半径因子”(该值为固定为1.8)。 但是,当我询问宏簇的权重时,如果使用了巨大的时间窗口并且没有衰落分量,则可以看到宏簇恢复了所有点的信息... 当前所有的微型集群都被考虑在内!因此,即使我们看到一些微团簇都不在宏团簇范围内,我们也知道它们属于最接近的微团簇-毕竟是K表示!
所以,我还有一个问题:为什么要这样计算宏簇半径?我的意思是,它代表什么? 算法是否应该返回标记的微簇?
欢迎任何反馈。 TIA!
关键问题是:用户需要什么?
标记微型集群还可以,但用户可以在哪里使用?
[在大多数情况下,人们使用k均值的结果就是聚类中心。因为k均值的整个目标实质上是“找到数据的最佳k点近似值”。
很可能CluStream的所有信息用户都将使用k个当前的群集中心。也许每个的重量,以及它们的年龄。