gpt4 book ai didi

R 的集群包中 daisy() 的 Python 等价物

转载 作者:太空狗 更新时间:2023-10-29 17:41:24 30 4
gpt4 key购买 nike

我有一个包含分类(名义和有序)和数值属性的数据集。我想使用这些混合属性计算我的观察结果的(不)相似性矩阵。使用 daisy() R中集群包的功能,我可以很容易地得到一个相异矩阵如下:

if(!require("cluster")) { install.packages("cluster");  require("cluster") }
data(flower)
as.matrix(daisy(flower, metric = "gower"))

这使用 gower 度量来处理名义变量。 是否有与 R 中的 daisy() 函数等效的 Python 函数?

或者可能允许使用 Gower 度量或类似的东西来计算具有混合(标称,数字)属性的数据集的(不)相似性矩阵的任何其他模块函数?

最佳答案

仅仅实现一个与 pdist 一起使用的 Gower 函数是不够的。

在内部,pdist 会进行多个数值转换,如果您使用包含混合数据的矩阵,这些转换将会失败。

我根据原始论文和 pdist 模块中必要的相应调整实现了 Gower 函数(我不能简单地覆盖这些函数,因为 pdist 模块中的 defs 是私有(private)的)。

到目前为止,我使用此方法获得的结果与 R 的 daisy 函数相同。

源代码可以在这个 jupyter notebook 上找到: https://sourceforge.net/projects/gower-distance-4python/files/

关于R 的集群包中 daisy() 的 Python 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26387662/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com