什么是scipy.cluster.vq.kmeans2()方法?


**scipy.cluster.vq.kmeans2(data, k, iter=10, thresh=1e-05, minit='random', missing='warn', check_finite=True)** − kmeans2() 方法通过执行 k-means 算法将一组观测向量分类到 k 个集群中。为了检查收敛性,kmeans2() 方法不使用阈值。它具有其他参数来决定质心的初始化方法、处理空集群以及验证输入矩阵是否仅包含有限数字。

以下是其参数的详细解释:

参数

  • **data** − ndarray

    它是 N 维中 M 个观测值的 'M' x 'N' 数组。

  • **k** − int 或 ndarray

    此参数表示要形成的集群数量和要生成的质心数量。在以下两种情况下,它被解释为要使用的初始集群:

    • 当 minit 初始化字符串为 'matrix' 时。

    • 或者如果给定一个 ndarray。

  • **thresh** − float,可选

    此参数表示阈值。如果自上次迭代以来失真变化小于或等于此阈值,则算法将默认终止。

  • **minit** − str,可选

    此参数表示初始化方法。以下是为此提供的一些可用方法:

    • **random** − 它从具有均值和方差的高斯分布中生成 k 个质心。均值和方差是从数据中估计的。

    • **points** − 此方法从数据中随机选择 k 个观测值(即行)作为初始质心。

    • **++** − 此方法也称为仔细播种,它选择 k 个观测值(即行)到 kmeans++ 方法。

    • **matrix** − matrix 方法解释初始质心的 k 参数(作为 'k' x 'M' 数组)。

  • **missing** − str,可选

此参数表示处理空集群的方法。以下是可用方法:

  • **warn** − 此方法(顾名思义)会发出警告并继续。

  • **raise** − 此方法将引发错误 (ClusterError) 并终止算法。

  • **check_finite** − bool,可选

    此参数用于检查输入矩阵是否仅包含有限数字。禁用此参数可能会提高性能,但也可能导致一些问题,例如在观测值确实包含无穷大时发生崩溃或不终止。此参数的默认值为 **True**。

返回值

  • **centroid** − ndarray

    它返回 k x N 个质心数组。

  • **label** − ndarray

    这是质心的索引。

更新于:2021年11月24日

163 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告