-1

通常,我通过 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 相似度计算该数据帧的行相似度时,将这条信息合并到一起的最佳方法是什么?

4

1 回答 1

1

好吧,这不再是高尔的相似之处了。

但是定义自己的距离函数并没有错

$$d(x,y)=\left(\sum_i d_i(x_i, y_i)^p\right^{1/p}$$

其中 $d_i$ 是第 i 列中分类值的距离矩阵。

我认为这样的措施在生物信息学中相当普遍。可能很难衡量 $d_i$ 矩阵是否可靠到有用。

于 2017-09-12T07:14:23.363 回答