2

我还在研究评估使用聚类(无监督学习)形成的聚类吗?

我试过谷歌搜索,但我得到的措施太理论化了。如果人们可以分享他们用来评估所形成集群的机制,那就太好了。假设我有一个 Java 集群,它将包含 Java EE、Java ME、RMI、JVM 等,另一个集群说 NoSQL,它将有 Neo4j、OrientDB、CouchDB 等。这是完美的,我的集群算法给了我最多准确的集群。

然而,在训练和测试之后,我可能会在 NoSQL 集群下说 MySQL、Oracle,所以我只是做一个手动/视觉解释,然后重新训练我的算法或调整它,以便我获得更好的集群。

现在我想自动化这个手动可视化集群的过程,并拥有一个系统,可以让我获得形成的集群的准确性。我正在寻找与搜索中使用的 Precision、Recall、NDCG、Map 等类似的东西。我的集群长度不同,并且可以形成 n 个不同的集群,因此精度/召回率不是正确的。

4

2 回答 2

2

我正在开发一个集群项目,到目前为止我也有同样的问题。

现在我正在使用JavaML库,它内置了几个聚类算法(在我的例子中,我使用的是 K-means),这个库也有几个函数来评估这个算法。

我用来评估集群“质量”的函数是每个集群元素的平方误差之和。为了不从数学上解释这种评估方法,基本上平方误差之和总结了每个簇的每个元素到它们各自簇质心的距离(在 K-means 的情况下)。这不是一个完美和理想的评估,因为您喜欢它可能比视觉比较更好(我有同样的问题),但至少是一种正式的方式来确定“你的集群有多好”。它便宜、快速,可以让您大致了解集群。

您可能还想检查“集群标签”问题。这不是微不足道的,但它打算解决同样的问题。

我认为您问题的正确答案取决于您使用的聚类算法并在这里理解一些数学理论,因为这不是一个容易的主题:)

祝你好运!

于 2012-02-02T12:08:45.247 回答
1

通常聚类被用作无监督和半监督学习算法。由于您提到“但是在训练和测试之后,我可能会说 MySQL,......”我假设您正在为您的应用程序使用半监督聚类算法。

您可以增加输入特征的数量(或者可能在增加输入特征数量的同时做几个实验)看看您的系统的准确性如何改变特征向量的大小。

此外,您可以评估不同的聚类算法并选择能够提供最佳预测精度的最佳算法。

于 2012-02-02T09:01:39.840 回答