【聚类算法】Mean-shift 算法

转自here

基本思想

在数据集中选定一个点,然后以这个点为圆心,r为半径,画一个圆,求出这个点到所有点的向量的平均值,而圆心与向量均值的和为新的圆心,然后迭代此过程,直到满足一点的条件结束。后来加了权重系数和核函数,目前在聚类,图像平滑,分割,跟踪等方面有着广泛的应用。
《【聚类算法】Mean-shift 算法》
不断找新的圆心,直到密码最大的区域。

算法函数

a) 核心函数:sklearn.cluster.MeanShift(核函数:RBF核函数)
圆心的确定和半径的选择,是影响算法效率的两个主要因素,所以在sklearn.cluster.MeanShift中重点说明了这两个参数的设定问题。
b) 主要参数
bandwidth : 半径,float型,如果没有给出,使用sklearn.cluster.estimate_bandwidth计算出半径。
seeds : 圆心,数组类型,即初始化的圆心。
bin_seeding :布尔值。如果为真,初始内核位置不是所有点的位置,而是点的离散版本的位置,其中点被分类到其粗糙度对应于带宽的网格上。将此选项设置为True将加速算法,因为较少的种子将被初始化。默认值:False.如果种子参数(seeds)不为None则忽略。
c)主要属性
cluster_centers_ : 数组类型。计算出的聚类中心的坐标。

代码过程详解

    原文作者:聚类算法
    原文地址: https://blog.csdn.net/ACBattle/article/details/80420799
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞