大话数据科学:大数据与机器学习实战(基于R语言)
上QQ阅读APP看书,第一时间看更新

4.1 聚类分析介绍

聚类分析(Cluster Analysis)是要把数据的记录(样本)根据相似度,把相似的记录聚合在一起,称为“”或“”(cluster)。在营销管理的市场划分,就是聚类分析。聚类分析没有目标变量,所以是非监督式学习。

聚类分析概念图如图4-1所示。

图4-1 聚类分析概念图

聚类分析有:层次聚类(hierarchical)和非层次聚类(non-hierarchical)。

①层次聚类

假设有N个记录,计算 1类,2类,…N类的划分。

(1)聚合法(agglomerative):从N类→N-1类→…→ 1类的合并。

R语言包“cluster”的函数agnes(AGglomerative NESting)是聚合法层次聚类。

本章主要介绍聚合法层次聚类R语言基础包“stats”的函数hclust。

(2)划分法(divisive):从1类→2类→…→N类的划分。

R语言包 “cluster”的函数diana(DIvisive ANAlysis clustering)是划分法层次聚类。

层次聚类,给出一个树形图(dendrogram),最上层是树根,是所有记录样本合并成一类,最下层是树叶,所有记录样本各成一类,聚合法是由下往上,从树叶变成树根,最后将所有记录并成一类。聚合法是用样本的“距离”来合并树枝。

第10章的决策树也是树形图,算是划分法,由上往下,用变量的“信息”来划分树枝,从树根变成树叶。决策树是监督式学习,用来判别样本是属于哪一类。

②非层次聚类

选定一个k值,计算k类的聚类。

(1)k-均值法(k-mean):只适用于数值变量,不适用于分类变量。

(2)基于质心聚类法(PAM):适用于数值变量和分类变量。

(3)期望最大值聚类法(EM)。

(4)基于密度的聚类法(DBSCAN)。

(5)模糊C均值法(Fuzzy C-means)。