使用R的分层聚类

0
4807
图片来源:Pixabay

层次聚类也称为 等级集群 分析是一种将相似数据点聚类到称为聚类的组的算法。端点是群集的层次结构,每个群集中的对象彼此相似。

集聚的: 这是一个 “bottom-up” 方法:每个观察都从其自己的聚类开始,并且随着一个聚类上移,成对的聚类合并。

分裂性: 这是一个 “top-down” 方法:所有观察都始于一个簇,并且随着一个观察者向下移动,递归执行拆分。

广告Coursera Plus标语,包含约翰·霍普金斯大学,谷歌和密歇根大学的课程,突出显示数据科学职业发展的内容

Iris数据集的层次聚类树状图

Iris数据集的层次聚类树状图 (//en.wikipedia.org/wiki/Hierarchical_clustering)

我们可以使用函数对R中的数据矩阵执行分层聚类 “hclust”.

用法

集群(d,method =“complete”, members = NULL)

来自聚类的数据集

#We can genrate randome data:
x <- rbind(matrix(rnorm(100, sd = 0.3), ncol = 2),
           matrix(rnorm(100, mean = 1, sd = 0.3), ncol = 2))
colnames(x) <- c("x", "y")
概要(x)
##        x                  y           
##  Min.   :-0.62946   Min.   :-0.82754  
##  1st Qu.: 0.04838   1st Qu.:-0.01679  
##  Median : 0.57912   Median : 0.43242  
##  Mean   : 0.53057   Mean   : 0.47489  
##  3rd Qu.: 0.98021   3rd Qu.: 1.01691  
##  Max.   : 1.73683   Max.   : 1.93000
#We also can use famous <i>Iris</i> flower data set.
概要(iris)
##   Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
##  Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
##  1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
##  Median :5.800   Median :3.000   Median :4.350   Median :1.300  
##  Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
##  3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
##  Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
##        Species  
##  setosa    :50  
##  versicolor:50  
##  virginica :50  
##                 
##                 
## 

现在使用 集群 数据集上的所有四列(头长,瓣长,隔膜宽度和瓣宽)。

data <- dist(iris[, 1:4])
集群er <- 集群(data)
集群er
## 
## Call:
## 集群(d = data)
## 
## Cluster method   : 完成 
## Distance         : euclidean 
## Number of objects: 150

让’绘制聚类树状图数据

# Convert 集群 into a dendrogram and plot
hcd <- as.dendrogram(hcluster)
# Define nodePar
nodePar <- list(lab.cex = 0.6, pch = c(20, 19),
                cex = 0.7, col = c("green","yellow"))
plot(hcd,  xlab = "Height", nodePar = nodePar, main = "Cluster dendrogram",
     edgePar = list(col = c("red","blue"), lwd = 2:1), horiz = TRUE)

nodePar:
它是要用于节点的绘图参数的列表。

广告
上一篇文章人工智能和简化的供应链
下一篇将于2019年加入的数据科学Facebook组列表
Nilesh Kumar
我是Nilesh Kumar,他是Shahid Mukhtar博士指导下的UAB生物系研究生。我于2018年春季加入UAB,从事网络生物学工作。我的研究兴趣是网络建模,数学建模,博弈论,人工智能及其在系统生物学中的应用。 我于2015年获得印度安拉阿巴德印度信息技术学院的GATE奖学金“技术,信息技术(生物信息学专业)硕士学位”。我的硕士论文的题目是“通过机器学习方法进行米氏预测”。我在新德里国际基因工程和生物技术中心担任研究员两年。

发表评论

请输入您的评论!
请在这里输入您的名字

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.