如何使用 kkmeans(kernlab 包)分配新集群
How to assign the new clusters using kkmeans (kernlab package)
来自 kernlab
程序包的函数 kkmeans
在特定数据集中执行 Kernl K-Means。但是,当我 运行 该函数时,它只返回中心、簇大小和簇内平方和。这是一个例子
library(kernlab)
test<-kkmeans(as.matrix(iris[,-5]),3)
test
但我对每个观察的聚类成员分类感兴趣。有人知道如何将这些值存储在向量中吗?
如果您查看 test
变量,您会发现集群成员存储在 .Data
组件中。您可以使用以下方式访问它:
cluster_membership <- test@.Data
print(cluster_membership)
输出:
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 3 2 2 2 3 2 3 3 2 3 2 3 2 2 3 2 3 2 2 2 2
[75] 2 2 2 2 2 3 3 3 3 2 3 2 2 2 3 3 3 2 3 3 3 3 3 2 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 2 3 3 3 2 3 3 2 2 3 3 3 3 3 2 3 3 3 3 2 3 3 3 3 3 3 3 2 3
[149] 3 2
但是,如果您愿意,您可以将测试变量本身用于绘图目的,因为它将 vector
class 扩展为 specc
对象:
plot(iris, col=test)
来自 kernlab
程序包的函数 kkmeans
在特定数据集中执行 Kernl K-Means。但是,当我 运行 该函数时,它只返回中心、簇大小和簇内平方和。这是一个例子
library(kernlab)
test<-kkmeans(as.matrix(iris[,-5]),3)
test
但我对每个观察的聚类成员分类感兴趣。有人知道如何将这些值存储在向量中吗?
如果您查看 test
变量,您会发现集群成员存储在 .Data
组件中。您可以使用以下方式访问它:
cluster_membership <- test@.Data
print(cluster_membership)
输出:
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 3 2 2 2 3 2 3 3 2 3 2 3 2 2 3 2 3 2 2 2 2
[75] 2 2 2 2 2 3 3 3 3 2 3 2 2 2 3 3 3 2 3 3 3 3 3 2 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 2 3 3 3 2 3 3 2 2 3 3 3 3 3 2 3 3 3 3 2 3 3 3 3 3 3 3 2 3
[149] 3 2
但是,如果您愿意,您可以将测试变量本身用于绘图目的,因为它将 vector
class 扩展为 specc
对象:
plot(iris, col=test)