楼主: xiaoxue@
2365 16

[问答] 请问在R中,如何给谱聚类确定最佳聚类个数? [推广有奖]

11
xiaoxue@ 发表于 2021-5-18 23:27:27
llb_321 发表于 2021-5-18 20:52
这个包里也有计算similarity matrix的函数
Ng谱聚类算法
method Numerical value: 1 = default eigengap ...
好的,非常感谢您的帮助。

12
llb_321 在职认证  发表于 2021-5-19 14:37:11
  1. #计算径向基核函数
  2. calRBF<-function (data, n = 5)
  3. {
  4.   data <- as.matrix(data)
  5.   nelts <- dim(data)[1]
  6.   d <- dim(data)[2]
  7.   means <- apply(data[, 1:d], 2, mean)
  8.   sds <- apply(data[, 1:d], 2, sd)
  9.   sds[sds == 0] <- 1
  10.   data[, 1:d] <- sweep(data[, 1:d], 2, means, "-")
  11.   data[, 1:d] <- sweep(data[, 1:d], 2, sds, "/")
  12.   kern <- as.matrix(dist(data[, 1:d]))
  13.   sigmas <- sapply(1:nelts, function(i) {
  14.     dummy <- sort(kern[i, ])
  15.     return(median(dummy[1:n]))
  16.   })
  17.   sigmamat <- as.matrix(sigmas) %*% t(as.matrix(sigmas))
  18.   kern <- exp(-(kern^2)/sigmamat)
  19.   return(kern)
  20. }
复制代码

13
xiaoxue@ 发表于 2021-5-19 17:22:16
llb_321 发表于 2021-5-18 20:52
这个包里也有计算similarity matrix的函数
Ng谱聚类算法
method Numerical value: 1 = default eigengap ...
好的,谢谢您,我试一试去

14
xiaoxue@ 发表于 2021-5-19 17:22:20
llb_321 发表于 2021-5-18 20:52
这个包里也有计算similarity matrix的函数
Ng谱聚类算法
method Numerical value: 1 = default eigengap ...
好的,谢谢您,我试一试去

15
xiaoxue@ 发表于 2021-5-19 17:23:30
owenqi 发表于 2021-5-18 11:52
如何定义“最佳”?建议你明确这个概念以后,在使用层次聚类去选择
好的好的,非常感谢您。

16
xiaoxue@ 发表于 2021-5-24 19:50:08
llb_321 发表于 2021-5-19 14:37
您好,请问您这段代码中的n表示什么,是数据点个数吗?

17
xiaoxue@ 发表于 2021-5-24 20:31:25
llb_321 发表于 2021-5-19 14:37
您好,再打扰一下,这个运行结果是数据点的相似矩阵吗

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-23 16:33