R 如何为每次迭代可视化k-均值质心?
我想通过绘制从初始聚类的起始值(在(3,5)、(6,2)、(8,3))到聚类中心的算法迭代,以图形方式演示k-means的行为。 每个迭代可能对应于具有质心和簇的单个绘图 鉴于:R 如何为每次迭代可视化k-均值质心?,r,k-means,R,K Means,我想通过绘制从初始聚类的起始值(在(3,5)、(6,2)、(8,3))到聚类中心的算法迭代,以图形方式演示k-means的行为。 每个迭代可能对应于具有质心和簇的单个绘图 鉴于: x<-c(3,6,8,1,2,2,6,6,7,7,8,8) y<-c(5,2,3,5,4,6,1,8,3,6,1,7) df<-data.frame(x,y) dfClu
x<-c(3,6,8,1,2,2,6,6,7,7,8,8)
y<-c(5,2,3,5,4,6,1,8,3,6,1,7)
df<-data.frame(x,y)
dfCluster<-kmeans(df,centers=3) # with 3 centroids
x尝试使用tryCatch
在达到转换时自动停止过程:
我使用iris数据集,因为kmeans需要2次迭代(6,3.5)-点切换)
set.seed(1337)
df=虹膜[,1:2]
dfCluster尝试使用tryCatch
在达到转换时自动停止过程:
我使用iris数据集,因为kmeans需要2次迭代(6,3.5)-点切换)
set.seed(1337)
df=虹膜[,1:2]
dfCluster尝试使用tryCatch
在达到转换时自动停止过程:
我使用iris数据集,因为kmeans需要2次迭代(6,3.5)-点切换)
set.seed(1337)
df=虹膜[,1:2]
dfCluster尝试使用tryCatch
在达到转换时自动停止过程:
我使用iris数据集,因为kmeans需要2次迭代(6,3.5)-点切换)
set.seed(1337)
df=虹膜[,1:2]
DFCLUSTER这个怎么样:?谢谢你的建议。但是,我在定义初始示例中解释的起始值时遇到了困难。鉴于以上数据,我想。1这个怎么样:?谢谢你的建议。但是,我在定义初始示例中解释的起始值时遇到了困难。鉴于以上数据,我想。1这个怎么样:?谢谢你的建议。但是,我在定义初始示例中解释的起始值时遇到了困难。鉴于以上数据,我想。1这个怎么样:?谢谢你的建议。但是,我在定义初始示例中解释的起始值时遇到了困难。根据以上数据,我得出结论。1这很好,非常感谢你的功能。我如何在(3,5)、(6,2)、(8,3)处输入起始质心?使用iris复制和粘贴代码只会生成第二个iter图形只需保存一个起始矩阵start yes这就是它。谢谢但是,省略了初始图形迭代iter1。只显示了最后一个,即iter 2。用iris从上面复制你的例子,我也有iter 2。使用RStudio在绘图中单击,或使用par(mfrow=c(2,1))
在一幅图像中绘图,或使用png
保存绘图,请参见?png
这是如何工作的问题更多的是迭代,而不是绘图。如果我有需要更多迭代才能找到质心的数据,我该如何扩展和你的代码。因为将随机数据集放入代码中会返回两次迭代…thx Againt非常好,非常感谢您提供的函数。我如何在(3,5)、(6,2)、(8,3)处输入起始质心?使用iris复制和粘贴代码只会生成第二个iter图形只需保存一个起始矩阵start yes这就是它。谢谢但是,省略了初始图形迭代iter1。只显示了最后一个,即iter 2。用iris从上面复制你的例子,我也有iter 2。使用RStudio在绘图中单击,或使用par(mfrow=c(2,1))
在一幅图像中绘图,或使用png
保存绘图,请参见?png
这是如何工作的问题更多的是迭代,而不是绘图。如果我有需要更多迭代才能找到质心的数据,我该如何扩展和你的代码。因为将随机数据集放入代码中会返回两次迭代…thx Againt非常好,非常感谢您提供的函数。我如何在(3,5)、(6,2)、(8,3)处输入起始质心?使用iris复制和粘贴代码只会生成第二个iter图形只需保存一个起始矩阵start yes这就是它。谢谢但是,省略了初始图形迭代iter1。只显示了最后一个,即iter 2。用iris从上面复制你的例子,我也有iter 2。使用RStudio在绘图中单击,或使用par(mfrow=c(2,1))
在一幅图像中绘图,或使用png
保存绘图,请参见?png
这是如何工作的问题更多的是迭代,而不是绘图。如果我有需要更多迭代才能找到质心的数据,我该如何扩展和你的代码。因为将随机数据集放入代码中会返回两次迭代…thx Againt非常好,非常感谢您提供的函数。我如何在(3,5)、(6,2)、(8,3)处输入起始质心?使用iris复制和粘贴代码只会生成第二个iter图形只需保存一个起始矩阵start yes这就是它。谢谢但是,省略了初始图形迭代iter1。只显示了最后一个,即iter 2。用iris从上面复制你的例子,我也有iter 2。使用RStudio在绘图中单击,或使用par(mfrow=c(2,1))
在一幅图像中绘图,或使用png
保存绘图,请参见?png
这是如何工作的问题更多的是迭代,而不是绘图。如果我有需要更多迭代才能找到质心的数据,我该如何扩展和你的代码。因为将随机数据集放入代码中会返回两次迭代…再次是thx
set.seed(1337)
df = iris[,1:2]
dfCluster<-kmeans(df,centers=3, iter.max = 1)
plot(df[,1], df[,2], col=dfCluster$cluster,pch=19,cex=2, main="iter 1")
points(dfCluster$centers,col=1:5,pch=3,cex=3,lwd=3)
max_iter = 10
for (i in 2:max_iter){
tryCatch({
dfCluster <- kmeans(df,centers = dfCluster$centers, iter.max = 1)
done <- TRUE
},
warning=function(w) {done <- FALSE})
plot(df[,1], df[,2], col=dfCluster$cluster,pch=19,cex=2, main=paste("iter",i))
points(dfCluster$centers,col=1:5,pch=3,cex=3,lwd=3)
if(done) break
}