【发布时间】:2015-02-27 09:43:26
【问题描述】:
我正在使用R 中的kmeans 函数执行K 均值聚类。缩放我的数据后。在我得到集群之后,我想要每个点到它的集群中心的距离,而不是获得单独的集群分配。这是我正在使用的代码。
data=read.csv("C:/Users/My_Folder/data.csv") # A data frame of 200 rows and 20 variables
traindata=data[,c(3,4)] # Features on which I want to do clustering
traindata=scale(traindata,center = T,scale=T) # Feature Scaling
km.result=rep(0,nrow(traindata))
km.cluster = kmeans(traindata, 2,iter.max=20,nstart=25)$cluster
cluster_1_num = sum(km.cluster==1)
cluster_2_num = sum(km.cluster==2)
if(cluster_1_num>cluster_2_num){
km.result[km.cluster==1]=1}
else{
km.result[km.cluster==2]=1}
data$cluster=km.result
这段代码有效地将我的 200 行分成 2 个集群。代替标签,有没有办法从它的集群中心获取每个点的距离。我是否需要将我的数据重新缩放为原始值。
【问题讨论】:
-
给我们一个可重现的小例子如何?
-
@RomanLuštrik,好的。我已经给出了我正在使用的代码。有什么方法可以提供我的数据的 csv 文件?
-
构建一个最小的、自包含的示例。请参阅this topic,了解有关如何实现此目的的提示。
标签: r cluster-analysis k-means