一、聚类的概念
- 聚类分析是无监督类机器学习算法中最常用的一类,其目的是将数据划分成有意义或有用的组(也被称为簇)。组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。组内的相似性 (同质性)越大,组间差别越大,聚类就越好。
二、常用的聚类方法
2.1 K-means聚类
- 也称为K均值聚类,它试图发现k(用户指定个数)个不同的簇 ,并且每个簇的中心
采用簇中所含值的均值计算而成。
2.2 层次聚类
- 层次聚类(hierarchical clustering)试图在不同层次对数据集进行划分,从而形成树形的聚类结构。
2.3 DBSCAN
- 这是一种基于密度的聚类算法,簇的个数由算法自动地确定。低密度区域中的点被视为噪声而忽略,因此DBSCAN不产生完全聚类。
三、 K均值聚类
- K均值是发现给定数据集的k个簇的算法。簇个数k是用户给定的,每一个簇通过其质心(centroid)来描述。
- 工作流程:
- 首先,随机选择K个初始质心,其中K是用户指定的参数,即所期望的簇的个
数。 - 然后将数据集中每个点指派到最近的质心,而指派到一个质心的点即为一个簇。
- 然后,根据指派到簇的点,将每个簇的质心更新为该簇所有点的平均值。
- 重复指派和更新步骤,直到簇不发生变化,或等价地,直到质心不发生变化。
- 首先,随机选择K个初始质心,其中K是用户指定的参数,即所期望的簇的个