【发布时间】:2019-09-06 08:47:15
【问题描述】:
如何减少集群包中PAM聚类算法的迭代次数?
我正在尝试制作几个显示 pam 工作原理的图,因此尝试将迭代次数减少到 2。我已将 cluster repo 克隆到我的工作目录,在那里我编辑了 pam.q 文件(目录 ./cluster/R) 使 nMax 等于 2。
# original
nMax <- 65536 # 2^16 (as 1+ n(n-1)/2 must be < max_int = 2^31-1)
# modified
nMax <- 2
但是,即使没有对原始文件进行任何更改,pam 算法也无法运行。如果我通过输入 library(cluster) 来加载它,它会按预期工作,但是这样我就无法操纵迭代次数。
我想要实现的示例代码如下所示:
# -- Working code --
library(datasets)
data(iris)
library(cluster)
df <- data.frame(iris$Petal.Length, iris_modified$Petal.Width)
pam.res <- pam(df, k = 2)
pam.res
# -- Failing Code --
library(datasets)
data(iris)
source("./cluster/R/pam.q")
df <- data.frame(iris$Petal.Length, iris_modified$Petal.Width)
pam.res <- pam(df, k = 2)
pam.res
这是我在运行上面的“失败代码”时遇到的错误:
pam 中的错误(clust_ex,k = 2):找不到对象 'cl_Pam'
当我直接链接 pam.q 文件而不是加载库时,我希望得到与工作代码相同的输出。
我在导入 q 文件的方式上是否有什么做得不对的地方?还是有其他方法可以改变 pam 算法执行的迭代次数?
【问题讨论】:
标签: r cluster-analysis