R 中聚类的训练和测试评估

Training and Test evaluation for Clustering in R

我正在尝试在 R 中实现类似于@bens code here 的东西。我正在处理非结构化新闻文章,并希望在进行主题建模后对它们进行聚类我尝试执行@提供的代码本,它奏效了。我想知道如何在训练和测试中划分数据并预测测试数据的聚类,然后评估测试数据如何聚类可能使用平均精度。

我知道这变成了半无监督而不是无监督,但我想尝试一下看看结果。

半监督意味着您将优化 (!) 聚类以在您有标签的数据上产生 "optimum" 结果,并期望它也能很好地聚类未标记的数据。这很难开始工作,具体取决于您的数据。例如,对于 k-means,您可能会优化 k 以匹配 known 集群的数量,但是未知集群呢?

如果您只是想看看您的聚类方法是否有效,则不需要训练-测试拆分。这样做的目的是在优化参数时避免过度拟合(并且在这种情况下,对您的实际表现过于乐观)。当不在方法中使用标签(如在聚类中)并且也不为参数化这样做时,您可以简单地执行所谓的 "external evaluation"。您将标签重新添加到您的数据集中,并评估聚类与您的标签的一致性程度。

但请注意,即使不符合您的标签,集群也可能是好的。例如,您的标签 migjt 为 "olympics",但聚类为 "swimming" 生成了一个聚类。这是一个很好的集群,即使它拆分了您提供的标签(有人甚至可能会争辩说它很好 因为 它这样做了,它改善了您的标签!)。

如果你所有的数据都被标记了,总是喜欢分类!不要试图优化聚类来模拟分类。