使用R语言实现聚类算法
 
本次仅展示简单的使用R语言实现kmeans算法和基于密度的算法:
 
首先是基于密度的R语言脚本:
 
>library(cluster)
>library(fpc)
>#如果提示没有fpc包,则使用install.packages('fpc')按照,注意单引号。
> 
data <- read.csv('train.csv')
> x <- 
data[,c(2,3,4,5)]
> #读取
data数据的第2,3,4,5共4列作为维度数据,索引从1开始
> ds <- dbscan(x,
0.02,
6)
> #其中
2是距离半径,
6是每次计算囊括的点的数量,具体可以根据数据表现进行调整,这也是基于密度聚类算法的局限之一
> par(bg=
"grey")
> plot(ds, x) 
其次是基于Kmeans算法的R语言脚本:
 
>library(cluster)
> 
data <- read.csv('train.csv')
> x <- 
data[,c(2,3,4,5)]
> res <- kmeans(x,centers=
3)
> par(bg=
"grey")
> plot(x,col=res$cluster)
> #结果以不同颜色的标记不同的分类类别 
以上是简单的执行脚本,不涉及复杂的参数设置,比如在Kmeans算法中还可以设置收敛值,迭代次数等,更多内容随着学习的深入再逐步添加,简单的算法已经足够应付很多需求了。