我已经实现了一个用于总结日志文件的聚类算法,目前正在使用调整后的兰德指数(Adjusted Rand index)和调整后的互信息指数(Adjusted Mutual Information index)对其进行与真实数据的测试。
我的算法的输入是一组日志条目,输出是一组整数(每个条目所属的聚类标签)。真实数据同样是一组整数,每个整数代表条目所属的真实聚类。对于我的大部分测试用例,我得到了正常/预期的结果,但有一个文件却给我带来了意外的输出。我已经附上了两组列表,即真实数据的聚类结果以及我的算法的聚类结果:
真实数据列表:http://pastebin.com/9Y5TE6b7
我的聚类结果:http://pastebin.com/hJz1M4sf
这两组列表被输入到scikit-learn的函数中以获取ARI和AMI。ARI分数看起来大致正确,但AMI的值超过了1,根据文档和AMI的定义,如果我理解正确的话,这是不可能的。这个数据集非常不平衡,但我其他的许多文件也同样不平衡。我无法解决这个问题。供参考,我得到的ARI和AMI的分数是:
ARI: 0.99642743999922712
AMI: 1.0190170466324
回答:
这个问题已经在开发版本中修复。