R 中相异矩阵的聚类
Clustering on dissimilarity matrix in R
我目前正在尝试了解无监督机器学习,即聚类,但有点困惑。
首先,这就是为什么我需要一个聚类算法。我计算了一个 差异矩阵 N x N,我在其中比较了二叉树的(不)相似性。这意味着对于条目 Ni,i 值为零(意味着对角线为零)并且对于条目 Ni,j 值为≥ 0。这是一个包含 100 x 100 个元素的矩阵,即我有 100 个相互比较的二叉树。该矩阵是在 R 之外计算的。我的矩阵中的距离是树编辑距离并满足 三角不等式 .
仅根据这些信息,我实际上可以使用哪种聚类算法?我很确定我可以使用层次聚类,但是我如何仅使用这个矩阵在 R 中执行 k-means oder PAM 聚类?
你不能使用 k-means。因为它需要计算均值,以及与均值的距离。这对树不起作用。
HAC、PAM 和 DBSCAN 都可以。 DBSCAN 是这三者中最具可扩展性的,但如果您有足够的数据,它也能更好地工作——您的样本可能太小了。所以我会使用 HAC。
我目前正在尝试了解无监督机器学习,即聚类,但有点困惑。
首先,这就是为什么我需要一个聚类算法。我计算了一个 差异矩阵 N x N,我在其中比较了二叉树的(不)相似性。这意味着对于条目 Ni,i 值为零(意味着对角线为零)并且对于条目 Ni,j 值为≥ 0。这是一个包含 100 x 100 个元素的矩阵,即我有 100 个相互比较的二叉树。该矩阵是在 R 之外计算的。我的矩阵中的距离是树编辑距离并满足 三角不等式 .
仅根据这些信息,我实际上可以使用哪种聚类算法?我很确定我可以使用层次聚类,但是我如何仅使用这个矩阵在 R 中执行 k-means oder PAM 聚类?
你不能使用 k-means。因为它需要计算均值,以及与均值的距离。这对树不起作用。
HAC、PAM 和 DBSCAN 都可以。 DBSCAN 是这三者中最具可扩展性的,但如果您有足够的数据,它也能更好地工作——您的样本可能太小了。所以我会使用 HAC。