文档详情

源代码python机器学习专题之聚类分析-meanspeaker.pdf

发布:2025-01-06约9.43千字共8页下载文档
文本预览下载声明

#源代码#Python机器学习专题之聚类分析——K-means聚类

Peaker

KMeans算法基于n组独立样本方差相等,最小化准则或within-cluster平方和将样本数

据进行聚类。该算法需要指定集群的数量。其良好的可扩展性,因此被应用在大范围的许多

不同领域。

k-means算法将一组N个样本的集群X划分为k个不相交的集群C,每个集群的特征是

通过集群内样本的均值来描述的。每个集群的均值通常被称为“质心”。k-means算法旨在选

择能够最小化准则的质心,或within-cluster的平方准则:

惯性,或平方准则内群集总和,是一种描述各个集群相关性的测度。它存在各种缺点:

1.惯性使得假设簇是凸的和各向同性的,而事实上并不总是如此。对于拉长集群,或流体

与不规则形状的数据,它的相应不佳。

降维算法如PCA可以缓解这一问题,并加速计算。

K均值常常称为算法。在基本术语中,算法具有三个步骤。第一步选择的初始

质心,最基本的方法是,选择从数据集中的样品。初始化完成后,K-mean包括两个步骤之

间的循环。第一步骤分配每个样品到其最接近的质心。第二步骤通过取所有分配给每个形

心以前样品的平均值创建新的质心。旧的和新的质心之间的差被计算,并且算法重复这最

后两个步骤,直至该值小于一个阈值。换句话说,它反复进行,直到形心不显著移动。K-

均值是等效于期望最大化算法具有小的全相等,对角协方差矩阵。

下面是一个利用k-means对数据进行聚类分析的实例

数据中缩写代表的含义为

Shorthandfullname

homohomogeneityscore

complcompletenessscore

v-measVmeasure

ARIadjustedRandindex

AMIadjustedmutualinformation

silhouettesilhouettecoefficient

输出结果如下

对数据进行k均值聚类后可视化结果如图所示

实现上述过程的Python代码如下(网盘地址:)

print(__doc__)

fromtimeimporttime

importnumpyasnp

importmatplotlib.pyplotasplt

fromsklearnimportmetrics

fromsklearn.clusterimportKMeans

fromsklearn.dataset

显示全部
相似文档