zoukankan      html  css  js  c++  java
  • 机器学习--最基础的最常用的聚类算法

    基于划分聚类算法(partition clustering)

    K-means:是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据。

    优点:计算时间短,速度快。结果容易解释,一般聚类效果还算不错;

    缺点:对异常值非常敏感,需要提前确定好k值

    其他划分聚类算法如下:

    基于层次聚类算法

    CURE:采用抽样技术先对数据集D随机抽取样本,再采用分区技术对样本进行分区,然后对每个分区局部聚类,最后对局部聚类进行全局聚类。

    优点:采用随机抽样与分割相结合的办法来提高算法的空间和时间效率,并且在算法中用了堆和K-d树结构来提高了算法效率,使其可以高效的处理大量数据。

    缺点:对异常数据比较脆弱。

    其他基于层次聚类算法如下:

    基于密度聚类算法

    DBSCAN:DBSCAN算法是一种典型的基于密度的聚类算法,该算法采用空间索引技术来搜索对象的邻域,引入了“核心对象”和“密度可达”等概念,从核心对象出发,把所有密度可达的对象组成一个簇。

    优点:聚类簇的形状没有偏倚,不需要输入要划分的聚类个数。

    缺点:DBSCAN算法对参数Eps及Minpts非常敏感,且这两个参数很难确定。

    其他基于密度聚类算法如下:

    从以下几个方面对几种常用的聚类算法进行综合性能评价,评价结果如下:

  • 相关阅读:
    Android开发之无线遥控器
    那些有意思的代码
    更改Android编译软件版本(make/gcc/bision)
    ubuntu16.04安装virtualbox5.1失败 gcc:error:unrecognized command line option ‘-fstack-protector-strong’
    Android编译环境折腾记
    BM25相关度打分公式
    javascript作用域
    javascript 中关于call方法的详解。
    JavaScript RegExp 对象
    vue runtime 问题
  • 原文地址:https://www.cnblogs.com/lunatic-talent/p/12798286.html
Copyright © 2011-2022 走看看