机器学习--最基础的最常用的聚类算法
基于划分聚类算法(partition clustering)
K-means:是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据。
优点:计算时间短,速度快。结果容易解释,一般聚类效果还算不错;
缺点:对异常值非常敏感,需要提前确定好k值
其他划分聚类算法如下:
基于层次聚类算法
CURE:采用抽样技术先对数据集D随机抽取样本,再采用分区技术对样本进行分区,然后对每个分区局部聚类,最后对局部聚类进行全局聚类。
优点:采用随机抽样与分割相结合的办法来提高算法的空间和时间效率,并且在算法中用了堆和K-d树结构来提高了算法效率,使其可以高效的处理大量数据。
缺点:对异常数据比较脆弱。
其他基于层次聚类算法如下:
基于密度聚类算法
DBSCAN:DBSCAN算法是一种典型的基于密度的聚类算法,该算法采用空间索引技术来搜索对象的邻域,引入了“核心对象”和“密度可达”等概念,从核心对象出发,把所有密度可达的对象组成一个簇。
优点:聚类簇的形状没有偏倚,不需要输入要划分的聚类个数。
缺点:DBSCAN算法对参数Eps及Minpts非常敏感,且这两个参数很难确定。
其他基于密度聚类算法如下:
从以下几个方面对几种常用的聚类算法进行综合性能评价,评价结果如下: