通常,我通过 Gower 相似度度量计算数据框中的行相似度,如下所示。
library(cluster)
myDF <- data.frame(x1 = 1:10, x2 = c(rep("a", 4), rep("b", 3), rep("c", 3)),
x3 = c(rep("A", 2), rep("B", 2), "C", "D", rep("E", 4)))
similarity <- 1 - daisy(myDF, metric = "gower",
weights = c(1, 1, 1))
上面我假设所有类别属性(第 2 列和第 3 列)中类别之间的差异是相同的。
但是,如果s
第三个属性的 5 个类别(A、B、C、D、E)之间的非均匀相异矩阵是什么:
s <- matrix(c(0.00, 0.09, 0.12, 0.10, 0.12,
0.09, 0.00, 0.05, 0.13, 0.16,
0.12, 0.05, 0.00, 0.17, 0.20,
0.10, 0.13, 0.17, 0.00, 0.09,
0.12, 0.16, 0.20, 0.09, 0.00),5)
在通过 Gower 相似度计算该数据帧的行相似度时,将这条信息合并到一起的最佳方法是什么?