graph - 完整图上的 MST 对它们进行聚类(用于余弦相似度)
问题描述
我需要根据余弦相似度对单词(我存储在数组列表中)进行聚类(假设作为参数 k 给出)。我将所有单词作为顶点存储在一个完整的、加权的和无向图(使用邻接表)中,并将它们的余弦相似度值放在边上。据我了解,我需要使用 MST(Kruskals 算法)进行聚类过程。
但是,由于我的图是完整图,而 MST 用于连接图,我有点困惑如何在完整图上使用它?或者我使用完整图表做错了?
这是我的单词表:
[directors, producers, film, movie, black, white, man, woman, person, man, young, woman, science, fiction, thrilling, realistic, lovely, stunning, criminals, zombies, father, son, girlfriend, boyfriend, nurse, soldier, professor, college]
而且我需要通过 MST 对它们进行聚类,这样如果 k(聚类数)为 2,它将是这样的(根据它们的相似性划分为 2 个聚类):
boyfriend,college,father,girlfriend,man,nurse,person,professor,son,woman,young
criminals,directors,fiction,film,lovely,movie,producers,science,stunning,thrilling,zombies
解决方案
在完整图上使用最小生成树是标准的。
您经常会发现针对这种情况单独给出的运行时复杂度。您可能想在完整图表上检查 Prim 是否比 Kruskal 快。
最小生成树聚类也称为单链路聚类,快速SLINK算法与Prim的MST算法密切相关。但输出格式更适合聚类。
推荐阅读
- html - 高效的 Delphi 方法来解析数据的 HTML 代码
- android - 应用程序未运行时,AlarmManager SetExact() 未触发 - Android
- javascript - 是否有可能为 javascript 变量添加 nth-child?我需要将它添加到打字稿代码
- python - Python3 使用 Dict 和正则表达式替换字符串
- python - 在 django 环境中运行 requests_html 渲染函数时出现错误
- rust - 为什么这种重复模式在 Rust 宏中不起作用?
- c# - 实例化方法中传递的类型
- node.js - 基于 NestJS 中的异步配置有条件地导入内部模块
- python - 自动将所有字段从我的 sql db 获取到 django 模型?
- javascript - Firebase Cloud Messing错误:DOMException:无法在“窗口”上执行“atob”:要解码的字符串未正确编码