来 源:知乎/作 者:求知鸟这篇文章从对聚类的感性认识到聚类算法的实现:k个初始中心点的选择,中心点的迭代,直到算法收敛得到聚类结果。但有几个问题需要回答:如何判断数据是否适合聚类?k类是如何确定的?遇到数据集小的时候,如何得到直观的聚类图?遇到非凸集数据,聚类要如何实现?先看一幅以R语言绘制的图,适合聚类吗?> library(fMultivar)> set.seed(1234)> df> df> plot(df,main="bivariable normal distribution with rho=0.5")显然,这幅图中的数据不适合聚类!因为数据是从相关系数为0.5的正态分布中抽取了1000个观测值!如果采用中心点的聚类方法PAM,那么情况是否一致???> library(cluster)> library(ggplot2)> fit> df$clustering>ggplot(data=df,aes(x=V1,y=V2,color=clustering,shape=clustering))+geom_point()+ggtitle("clustering of Bivariate normal data")> plot(nc$All.index[,4],type="o",ylab="CCC",xlab=
………………………………