基于密度的聚类算法与Kmeans算法的R语言脚本

使用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算法中还可以设置收敛值,迭代次数等,更多内容随着学习的深入再逐步添加,简单的算法已经足够应付很多需求了。

你可能感兴趣的:(数据挖掘,R语言)