r语言 - 如何限制集群库中的 pam 函数的迭代次数?



如何减少集群包中 PAM 聚类算法的迭代次数?

我正在尝试制作几个显示 pam 如何工作的图,因此试图将迭代次数减少到 2。我已经将集群存储库克隆到我的工作目录,在那里我编辑了 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 算法执行的迭代次数?

Nmax 是对象的最大数量。

它不是最大迭代次数。

也不足以仅修改 .q 文件。

使用 ELKI 可能更容易做到这一点......

最新更新