码迷,mamicode.com
首页 > 其他好文 > 详细

R与数据分析旧笔记(十四) 动态聚类:K-means

时间:2015-10-16 20:42:18      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

动态聚类:K-means方法

动态聚类:K-means方法

  • 算法
    1. 选择K个点作为初始质心
    2. 将每个点指派到最近的质心,形成K个簇(聚类)
    3. 重新计算每个簇的质心
    4. 重复2-3直至质心不发生变化

kmeans()函数

> X=iris[,1:4]
> km=kmeans(X,3)
> km
K-means clustering with 3 clusters of sizes 62, 50, 38

Cluster means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
1 5.901613 2.748387 4.393548 1.433871
2 5.006000 3.428000 1.462000 0.246000
3 6.850000 3.073684 5.742105 2.071053

Clustering vector:
[1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[38] 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[75] 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 1 3 3 3 3
[112] 3 3 1 1 3 3 3 3 1 3 1 3 1 3 3 1 1 3 3 3 3 3 1 3 3 3 3 1 3 3 3 1 3 3 3 1 3
[149] 3 1

Within cluster sum of squares by cluster:
[1] 39.82097 15.15100 23.87947
(between_SS / total_SS = 88.4 %)

Available components:

[1] "cluster" "centers" "totss" "withinss" "tot.withinss"
[6] "betweenss" "size" "iter" "ifault"

K-means算法的优缺点

  • 有效率,而且不容易受初始值选择的影响
  • 不能处理非球形的簇
  • 不能处理不同尺寸、不同密度的簇
  • 离群值可能有较大的干扰(因此要先剔除)

R与数据分析旧笔记(十四) 动态聚类:K-means

标签:

原文地址:http://www.cnblogs.com/XBlack/p/4886194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!