• 聚类算法总览


    聚类分析就是在没有给定类别标签的情况下,根据数据相似性来进行分组的方法,是一种无监督的算法。聚类根据数据自身的距离或相似度将其划分为若干组,划分的原则是组内距离最小化而组间距离最大化。

    常用聚类方法

    类别 包括的主要算法
    划分方法 k-means(k-平均)、k-medoids(k-中心点)、Clarans(基于选择的算法)
    层次分析方法 BIRCH(平衡迭代规约和聚类)、CURE(代表点聚类)、CHAMELEON(动态模型)
    基于密度的方法 DSBCAN(基于高密度连接区域)、DENCLUE(密度分布函数)、OPTICS(对象排序识别)
    基于网格的方法 STING(统计信息网络)、CLIOUE(聚类高维空间)、WAVE-CLUSTER(小波变化)
    基于模型的方法 统计学方法、神经网络方法

    常用聚类分析算法

    算法名称 算法描述
    k-means k-均值聚类,在最小化误差函数的基础上将数据划分为预定的类数k.原理简单,便于处理大量数据。
    k-中心点 k-均值算法对孤立点敏感性,k-中心点算法不采用簇中对象的平均值作为簇中心,而选用簇中离平均值最近的对象作为簇中心
    系统聚类

    系统聚类也称为多层次聚类,分类的单位由高到低呈树形结构,且所处的位置越低,其所包含的对象就越少,但这些对象间的共同

    特征越多,该方法只适合在小数据量的时候使用,数据量大的时候速度会非常慢。

    聚类主要函数列表

    对象名 函数功能 所属工具箱
    kmeans k-均值聚类 sklearn.cluster
    AffinityPropagation 吸引力传播聚类,07年提出,几乎优于所有其他方法,不需要指定聚类数,但运行效率较低 sklearn.cluster
    MeanShift 均值漂移聚类算法 sklearn.cluster
    SpectralClustering 谱聚类,具有效果比k均值好,速度比k均值快等特点 sklearn.cluster
    AgglomerativeClustering 层次聚类,给出一颗聚类层次树 sklearn.cluster
    DBSCAN 具有噪声的基于密度的聚类方法 sklearn.cluster
    BIRCH 综合的层次聚类算法,可以处理大规模数据的聚类 sklearn.cluster

    k-means聚类的过程:

    1. 首先,我们选择一些类/组,并随机初始化它们各自的中心点。为了算出要使用的类的数量,最好快速查看一下数据,并尝试识别不同的组。中心点是与每个数据点向量长度相同的位置。

    2. 通过计算数据点与每个组中心之间的距离来对每个点进行分类,然后将该点归类于组中心与其最接近的组中。

    3. 根据这些分类点,我们利用组中所有向量的均值来重新计算组中心。

     4. 重复这些步骤来进行一定数量的迭代,或者直到组中心在每次迭代后的变化不大。你也可以选择随机初始化组中心几次,然后选择看起来提供了最佳结果的运行。

    计算

    聚类方法 优点 缺点
    k-means 速度快,计算少 初始聚类随机,结果重复性差
         
         
         
         
         

    参考资料:

    1、python数据分析与挖掘实战

    2、https://mp.weixin.qq.com/s/abD7Lk8V_c9WujzsmzTmgw

     

  • 相关阅读:
    spring总结
    mybatis总结
    HttpClient,okhttp,Jodd-http 使用上的差异
    RPC序列化
    RPC是什么? (学习笔记)
    MySQL普通索引与唯一索引
    MySQL 存储引擎
    TCP的流量控制和拥塞控制
    【转载】Windows自带.NET Framework版本大全
    [知识点] 总目录
  • 原文地址:https://www.cnblogs.com/enhaofrank/p/12831114.html
Copyright © 2020-2023  润新知