SPecc函数用法 R语言 Spectral Clustering谱聚类
Description
A spectral clustering algorithm. Clustering is performed by embedding the data into the subspace of the eigenvectors of an affinity matrix.
- 描述
- 用法
- 参数
- 附加参数
描述
光谱聚类算法。通过将数据嵌入到亲和度矩阵的特征向量的子空间中来进行聚类。
用法
S4方法签名“公式”
specc(x,data = NULL,na.action = na.omit,…)
S4方法签名“矩阵”
specc(x,centers,
kernel =“rbfdot”,kpar =“automatic”,
nystrom.red = FALSE,nystrom.sample = dim(x)[1] / 6,
iterations = 200,mod.sample = 0.75,na.action = na.omit,…)
S4签名方法“kernelMatrix”
specc(x,centers,nystrom.red = FALSE,iterations = 200,…)
S4签名方法’list’
specc(x,centers,
kernel =“stringdot”,kpar = list(length = 4,lambda = 0.5),
nystrom.red = FALSE,nystrom.sample = length(x)/ 6,
iterations = 200,mod.sample = 0.75,na.action = na.omit,…)
参数
X
要聚类的数据矩阵,或要拟合的模型的符号描述,或者是kernelMatrix类的内核矩阵,或者一个字符向量列表。
数据data
包含模型中变量的可选数据框。默认情况下,变量取自“specc”被调用的环境。
中心centers
集群的数量或一组初始集群中心。如果第一个,则选择特征向量矩阵中的一组随机行作为初始中心。
核心kernel
核函数用于计算亲和度矩阵。此参数可以设置为类内核的任何函数,该函数计算两个向量参数之间的点积。 kernlab提供最流行的内核函数,可以通过将内核参数设置为以下字符串来使用:
rbfdot径向基函数“高斯”
polydot多项式核函数
vanilladot线性内核函数
tanhdot双曲正切核函数
laplacedot拉普拉斯核心功能
贝塞尔贝塞尔核心功能
anovadot ANOVA RBF内核函数
splinedot样条内核
stringdot String内核
通过将函数名称作为参数,也可以将内核参数设置为类内核的用户定义函数。
kpar
字符串或超参数列表(内核参数)。默认字符串“automatic”使用启发式来确定RBF内核的width参数的合适值。第二个选项“本地”(局部缩放)使用更高级的启发式,并为数据集中的每个点设置宽度参数。当数据包含多个刻度时,这是特别有用的。还可以使用包含与内核函数一起使用的参数的列表。现有内核的有效参数有:
1.径向基核函数“rbfdot”和拉普拉斯核“laplacedot”的sigma反核宽度。
2.多项式核“polydot”的度数,尺度,偏移量
3.缩放,偏移为双曲正切核函数“tanhdot”
4.贝塞尔核心“besseldot”的西格玛,秩序,学位。
5.西格玛,ANOVA内核“anovadot”的学位。
6.长度,lambda,为“stringdot”内核归一化,其中length是所考虑字符串的长度,lambda是衰减因子,并归一化一个逻辑参数,用于确定内核评估是否应该归一化。
用户定义的内核的超参数也可以通过kpar参数传递。
nystrom.red
使用nystrom方法计算特征向量。当TRUE时,使用数据集的样本来计算特征值,因此只有n x m矩阵,其中样本大小存储在内存中(默认值:FALSE
nystrom.sample
在使用神经元方法时用于估计特征值的数据点数。 (默认值:dim(x)[1] / 6)
mod.sample
估计西格玛时使用的数据比例(默认值:0.75)
迭代
允许的最大迭代次数。
na.action
在NA上执行的动作
… 附加参数
细节
光谱聚类通过将分割问题的数据点嵌入归一化的亲和力/核矩阵的k个最大特征向量的子空间中起作用。在嵌入点上使用像kmeans这样的简单聚类方法通常会导致良好的性能。可以看出,谱聚类方法归结为图分割。
数据可以传递给矩阵或数据框架中的specc函数,此外specc还支持以kernelMatrix类型的内核矩阵的形式输入或者必须使用字符串内核的字符向量列表。
值
类Specc的S4对象,其扩展了包含指定每个点被分配到的集群的整数的类向量。以下插槽包含有用的信息
centers 集群中心矩阵。
size 每个群集中的点数
withinss 群集内的每个群集的平方和
kernelf 使用内核函数
作者(S)
Alexandros Karatzoglou
alexandros.karatzoglou@ci.tuwien.ac.at
参考
安德鲁·吴,迈克尔·约旦,耶尔·韦斯
光谱聚类:分析与算法
神经信息处理
See Also
kkmeans, kpca, kcca
Examples
Cluster the spirals data set.
data(spirals)
sc <- specc(spirals, centers=2)
sc
centers(sc)
size(sc)
withinss(sc)
plot(spirals, col=sc)