数据挖掘常见算法(聚类)

划分方法

K-均值算法(K-means算法)

方法:

  1. 首先选择K个随机的点,称为聚类中心.
  2. 对于数据集中的,每一个数据,按照距离K个中心点的距离,将其与距离最近的中心点关联起来,与同一个中心点关联的所有点聚成一类.
  3. 计算每一个组的平均值,将改组所关联的中心点移动到平均值的位置
  4. 重复2~4直至中心点不再变化.

PAM(k-中心点算法) K-medoids

算法分析:k-中心点算法消除了k-平均算法对孤立点的敏感性;比k-平均算法更健壮。算法分析:k-中心点算法消除了k-平均算法对孤立点的敏感性;比k-平均算法更健壮。

层次方法

SOM聚类算法

FCM聚类算法

AGNES算法

自底向上的凝聚层次聚类方法

AGNES将每个对象自为一簇,然后这些簇根据某种准则逐步合并,直到所有的对象最终合并形成一个簇。

DIANA算法

自顶向下的分裂层次聚类方法

在DIANA中,所有的对象用于形成一个初始簇。根据某种原则(如,簇中最近的相邻对象的最大欧氏距离),将该簇分裂。簇的分裂过程反复进行,直到最终每个新簇只包含一个对象。

BIRCH 算法****算法

BIRCH算法,首先用树结构对数据对象进行层次划分,其中叶节点或低层次的非叶节点可以看作是由分辨率决定的"微簇",然后使用其他的聚类算法对这些微簇进行宏聚类,它克服了凝聚聚类方法所面临的两个困难:

①可伸缩性;

②不能撤销前一步所做的工作。

BIRCH 算法最大的特点是能利用有限的内存资源完成对大数据集高质量地聚类,通过单遍扫描数据集最小化I/O 代价。

基于密度的方法

DBSCAN算法

OPTICS算法

DENCLUE算法

相关推荐
菜鸟55555几秒前
图论:Dijkstra算法
算法·图论·dijkstra·xcpc
科大饭桶30 分钟前
数据结构自学Day15 -- 非比较排序--计数排序
数据结构·算法·leetcode·排序算法·c
剪一朵云爱着40 分钟前
力扣二叉树的前序中序后序遍历总结
算法·leetcode·二叉树
乌萨奇也要立志学C++1 小时前
【洛谷】单向链表、队列安排、约瑟夫问题(list相关算法题)
算法·链表·list
橘颂TA1 小时前
【C++】C++11特性的介绍和使用(第三篇)
前端·c++·算法·c++11
丶小鱼丶2 小时前
栈算法之【有效括号】
java·算法
小徐不徐说5 小时前
每日一算:华为-批萨分配问题
数据结构·c++·算法·leetcode·华为·动态规划·后端开发
pk_xz1234566 小时前
光电二极管探测器电流信号处理与指令输出系统
人工智能·深度学习·数学建模·数据挖掘·信号处理·超分辨率重建
菜鸟555557 小时前
图论:最小生成树
算法·图论
2401_872945098 小时前
【补题】Codeforces Round 735 (Div. 2) C. Mikasa
算法