数据挖掘算法和实践(十六):聚类算法

之前写算法太侧重于理解和推导,后面的算法将更侧重于在sklearn中使用和官方数据集测试,本篇讲聚类,聚类是一类算法的统称,属经典的无监督学习,无需样本训练得到模型后再适用于新数据,直接对数据进行聚类操作得到某几类数据,经典场景是工业生产环境的异常处理,常见的有基于距离的聚类(代表是K-means算法)和基于密度的聚类(代表是DBscan算法),掌握最常用的k均值,凝聚聚类,dbscan即可;

参考sklearn中文论坛:https://apachecn.gitee.io/sklearn-doc-zh/docs/master/22.html

一、聚类算法

以下sklearn对聚类算法的大致聚类效果的展示,以kmeans和bdscan为例,发现前者将接近按照区域划分,后者偏向于将连片的高密度划分为同区域,凝聚聚类(比如AgglomerativeClustering)则类似于细胞吞噬过程,其分类效果更偏近于k均值;

数据挖掘算法和实践(十六):聚类算法_第1张图片

二、k-means

K均值算法试图找到代表数据特定区域的簇中心,算法迭代执行2个步骤:① 将每个数据点分配给最近的簇中心;② 每个簇中心设置为所分配的所有数据点的平均值,如果簇的分配不再发生变化则算法结束,k均值存在几个问题:① 要求指定寻找簇的个数;② k均值只能找到相对简单的形状;③ k均值仅考虑到最近簇中心的距离;④ 算法的输出依赖于随机种子;

数据挖掘算法和实践(十六):聚类算法_第2张图片

三、凝聚聚类

凝聚聚类基于相同原则构建的聚类算法, 首先每个点当做是自己的簇,然后合并两个最相似的簇,直到满足某种停止准则为止,比如停止准则是簇的个数,因此相似的簇被合并,直到剩下指定个数的簇,用迭代的方式合并两个最近的簇,“最佳”的意思是簇的方差之和最小,其过程形似细胞吞噬过程;

数据挖掘算法和实践(十六):聚类算法_第3张图片

数据挖掘算法和实践(十六):聚类算法_第4张图片

四、DBscan

DBSCAN是具有噪声的基于密度的空间聚类应用,包含3种类型点:① 核心样本;② 边界点;③ 噪声,和2个重要参数: eps和 min_sample

数据挖掘算法和实践(十六):聚类算法_第5张图片

你可能感兴趣的:(聚类,数据挖掘,机器学习,python,算法)