artificial-intelligence - 如何评估聚类?

标签 artificial-intelligence machine-learning cluster-analysis unsupervised-learning

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

我尝试过谷歌搜索,但得到的测量结果过于理论化。如果人们能够分享他们用来评估形成的集群的机制,那就太好了。假设我有一个 Java 集群,其中包含 Java EE、Java ME、RMI、JVM 等。另一个集群是 NoSQL,其中包含 Neo4j、OrientDB、CouchDB 等。这是完美的,我的集群算法给了我最多的东西。准确的聚类。

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

现在我想自动化手动可视化集群的过程,并拥有一个系统可以为我提供所形成集群的准确性。我正在寻找类似于搜索中使用的 Precision 、 Recall 、 NDCG 、 Map 等的东西。我的簇的长度各不相同,并且可能形成 n 个不同的簇,因此精度/召回率不是正确的事情。

最佳答案

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

现在我正在使用 JavaML该库内置了多种聚类算法(在我的例子中,我使用 K-means),并且该库还有几个函数来评估该算法。

我用来评估集群“质量”的函数是每个集群元素的平方误差之和。为了不那么数学地解释这种评估方法,基本上,误差平方和总结了每个簇的每个元素到各自簇质心的距离(在 K 均值的情况下)。这不是您喜欢的完美和理想的评估,它可能比视觉比较更好(我有同样的问题),但至少是识别“您的集群有多好”的正式方法。它价格便宜、速度快,并且可以为您提供集群的总体 View 。

您可能还想检查“Cluster labeling” ' 问题。这并非微不足道,但它旨在解决同样的问题。

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

祝你好运!

关于artificial-intelligence - 如何评估聚类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9108957/

相关文章:

python - Python 中的概率字符串匹配

machine-learning - 不变奖励如何帮助训练?

php - 识别声音是男性还是女性

machine-learning - 用于机器学习的聊天存档

python - 更改 kmeans 模型的集群标签

algorithm - 广度优先搜索与迷宫中曼哈顿距离的 A*

machine-learning - 有没有像「scaler.inverse_transform()」这样的方法来获取部分缩放器参数来对答案进行反规范化?

opencv - 训练数据簇的 BOW 预测

R合并具有相似值的行

machine-learning - 为什么要使用 CH 和 SIL 来查找 Elbow(或使用 L 方法)来选择簇数量?