
无监督学习
|
249
本节关键术语
树状图
记录以及记录所属簇的层次结构的一种可视化表示。
距离
测量一条记录与另一条记录之间邻近程度的一种方式。
相异度
测量一个簇与另一个簇之间邻近程度的一种方式。
层次聚类的灵活性是有代价的,它不能很好地扩展到有几百万条记录的大数据集上。即使
是对于有几万条数据的中等规模数据集,层次聚类也需要大量的计算资源。实际上,层次
聚类的大多数应用集中在较小的数据集之上。
7.3.1
一个简单的例子
在一个有
n
条记录和
p
个变量的数据集上进行层次聚类时,需要以下两个基本指标。
•
距离度量
d
i
,
j
,用来测量两条记录
i
和
j
之间的距离。
•
相异度度量
D
A
,
B
,用来测量两个簇
A
和
B
之间的差异,这种测量是基于每个簇中成员
之间的距离
d
i
,
j
来进行的。
对于有数值型数据的应用,最重要的选择就是相异度指标。层次聚类开始时,将每条记录
都设定为一个簇,然后通过迭代将这些记录组合成相异度最小的簇。
在
R
中
,可以使用
hclust
函数执行层次聚类。
hclust
与
kmeans
的一个主要区别是,它处
理的是成对记录的距离
d
i
,
j
,而不是数据本身。你可以使用
dist
函数计算出这些距离。例
如,以下代码对一个公司集合的股票收益进行了层次聚类:
syms1 <- c('GOOGL', 'AMZN', 'AAPL', 'MSFT', 'CSCO', 'INTC', 'CVX', 'XOM', 'SLB',
'COP', 'JPM', 'WFC', 'USB', 'AXP', 'WMT', 'TGT', 'HD', ...