现在的位置: 首页 > 综合 > 正文

在K均值聚类的时候发现在某一次迭代过程中,有一类变为了空类,如何解释这个现象,怎么处理?

2013年03月19日 ⁄ 综合 ⁄ 共 386字 ⁄ 字号 评论关闭

导致这种情况的原因有很多,下面是几个可能的方面:


1.数据本身的问题

比如虽然有一组体育类的新闻,但是这组数据实际上距离娱乐类的距离比较近,那么很有可能导致结果体育类的分类个数为0。

验证方法就是聚类完成之后,找到个数为0的分类,找到实际上属于这个分类的文本,手动的计算其距离其他几个分类中心点的距离,看看是不是太近。


2.算法上的问题

相似度的计算方法有很多种,一定要选择一种适合当前场景的,比如新闻相似度可能用TF-IDF+欧式距离,决定好算法之后,抽几个样本算一下是不是合理,比如找两个同分类的算一下,再找不同分类的算一下,看是不是距离符合逻辑(同一类的相似度应该高,不同类别的相似度应该低),否则就在考虑换算法,或加入新的条件。

额外的建议是,可以使用开源的K-Means工具来测试一下,看看结果与你的有何不同,目前开源的Python框架有很多,比如scikit-learn。

抱歉!评论已关闭.