前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言中的划分聚类模型

R语言中的划分聚类模型

作者头像
拓端
发布2020-12-30 16:37:36
6960
发布2020-12-30 16:37:36
举报
文章被收录于专栏:拓端tecdat

原文链接:http://tecdat.cn/?p=6443

划分聚类 是用于基于数据集的相似性将数据集分类为多个组的聚类方法。

分区聚类,包括:

  • K均值聚类 (MacQueen 1967),其中每个聚类由属于聚类的数据点的中心或平均值表示。K-means方法对异常数据点和异常值敏感。
  • K-medoids聚类PAMPartitioning Around Medoids,Kaufman和Rousseeuw,1990),其中,每个聚类由聚类中的一个对象表示。与k-means相比,PAM对异常值不太敏感。
  • CLARA算法Clustering Large Applications),它是适用于大型数据集的PAM的改进。

对于这些方法中的每一种,我们提供:

  • 基本思想和关键概念
  • R软件中的聚类算法和实现
  • R用于聚类分析和可视化的示例

数据准备:

代码语言:javascript
复制

my_data <- USArrests
# 删除所有缺失值(即NA值不可用)
my_data <- na.omit(my_data)
# 标准化变量
my_data <- scale(my_data)
# 查看开始3行
head(my_data, n = 3)
##         Murder Assault UrbanPop     Rape
## Alabama 1.2426   0.783   -0.521 -0.00342
## Alaska  0.5079   1.107   -1.212  2.48420
## Arizona 0.0716   1.479    0.999  1.04288

确定k-means聚类的最佳聚类数:

代码语言:javascript
复制


fviz_nbclust(my_data, kmeans,
method = "gap_stat")
## Clustering k = 1,2,..., K.max (= 10): .. done
## Bootstrapping, b = 1,2,..., B (= 100)  [one "." per sample]:
## .................................................. 50
## .................................................. 100

计算和可视化k均值聚类:

代码语言:javascript
复制

fviz_cluster(km.res, data = my_data,
ellipse.type = "convex",
palette = "jco",
repel = TRUE,
ggtheme = theme_minimal())

同样,可以如下计算和可视化PAM聚类:

代码语言:javascript
复制

pam.res <- pam(my_data, 4)
# 可视化
fviz_cluster(pam.res)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原文链接:http://tecdat.cn/?p=6443
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档