R语言中的划分聚类模型

Posted tecdat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言中的划分聚类模型相关的知识,希望对你有一定的参考价值。

原文链接: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用于聚类分析和可视化的示例

 

数据准备:

my_data <- USArrests
# Remove any missing value (i.e, NA values for not available)
my_data <- na.omit(my_data)
# Scale variables
my_data <- scale(my_data)
# View the firt 3 rows
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聚类的最佳聚类数:

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均值聚类:

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

技术图片技术图片?

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

pam.res <- pam(my_data, 4)
# Visualize
fviz_cluster(pam.res)

非常感谢您阅读本文,有任何问题请在下面留言!

  

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

技术图片?技术图片QQ:3025393450

技术图片?

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

技术图片

欢迎选修我们的R语言数据分析挖掘必知必会课程!

技术图片

 

技术图片

以上是关于R语言中的划分聚类模型的主要内容,如果未能解决你的问题,请参考以下文章

R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据

R语言聚类分析之基于划分的聚类KMeans实战:基于葡萄酒数据

R语言独立成分分析fastICA谱聚类支持向量回归SVR模型预测商店销量时间序列可视化

R语言中不同类型的聚类方法比较

基于R语言的数据挖掘之聚类算法--基于密度方法

R语言KMeans聚类模型示例