聚类算法
无监督,无label
基于划分的方法
K-means 、K-Medoids、CLANRANS
基于层次的算法
BIRCH(平均迭代规约和聚类)、CURE(代表点聚类)、CHAMELEON(动态模型)
基于密度的方法
DBSCAN(高密度链接区域)、DENCLUE(密度分布函数)、OPTICS(对象排序识别)
基于网络的方法
STING(统计信息网络)、SLIOUE(聚类高维空间)、WAVE-GMM(高斯混合模型)、NN(神经网络)
K-means K事先给定聚类个数 最小化所有数据点与聚类中心的距离的总和。使得平方误差最小
算法步骤
1 为每个聚类随机选择一个初始聚类中心
2.将样本集按照最小距离原则分配到最近邻聚类
3.使用每个聚类的样本均值更新聚类中心
4.重复2,3步骤,直到聚类中心变化幅度小鱼阈值e
5.输出最终聚类中心和K簇划分
缺点
1.当样本集规模大时,收敛速度会变慢
2.当孤立点数据敏感,少量噪声就会对平均值造车较大影响
3.K的取值十分关键,对不同数据集,需要大量实验
解决方案:
MinBatchKmeans 小样本划分
DBSCAN:
基本概念
邻域参数Eps 邻域的半径
密度:邻域内样本个数
最少点参数MinPts 定义核心点的阈值
核心点:密度大鱼MinPts的点
边界点:非核心点且在某个核心点的邻域内
噪声点:非核心点且不在任何核心点的邻域内
密度直达 :核心点邻域内的点与其密度直达
密度可达
密度相连
DBSCAN算法思想:从某个核心点出发,不断向密度可达的区域扩张,从而得到一个包含核心点和边界点的最大化区域,区域内的任意俩个密度相连
算法步骤
1.初始化未访问核心点集合为空集,未访问样本点集合为全部样本点
2.计算各样本密度并确定核心点加入核心点集合
3.若无核心点算法结束否则进入4
4.未访问核心点集合中随机选出一个核心点,在未访问样本点集合中找到所有密度相连的样本点
5更新未访问核心点集合和未访问样本点集合并进入3
6给出聚类C
优点
1.无需指定类的数量
2.可以分辨噪声点且对噪声点不敏感
3.聚类结果与遍历数据的顺序无感
缺点
对参数敏感需要多次尝试Eps及MinPts参数
密度相差较大的类难以达到较好的效果