哪个SciPy包用于实现聚类?


聚类是最有用的无监督机器学习方法之一。它用于查找输入数据样本之间的关系模式和相似性。找到这些模式后,无监督算法将具有相似性的数据样本聚类到组中,如下图所示:

异常检测、图像分割、医学影像、社交网络分析和市场细分是一些常见的聚类应用。K均值和层次聚类是两种最常见的聚类形式。

为了实现聚类,SciPy 提供了一个聚类包 (scipy.cluster),该包进一步包含以下两个模块:

  • scipy.cluster.vq 模块 - 此 SciPy 模块提供用于 K 均值聚类和矢量量化的函数。它还通过将 K 均值模型与代码本中的质心进行比较来生成 K 均值模型的代码本。下表解释了 scipy.cluster.vq 模块中的例程及其描述:

例程描述
scipy.cluster.vq.whiten(obs, check_finite=True )此例程对特征上的观察组进行归一化。
scipy.cluster.vq.vq(obs, code_book,check_finite=True)此例程将代码本中的代码分配给观察值。
scipy.cluster.vq.kmeans(obs, k_or_guess, iter=20, thresh=1e-05, check_finite=True)此例程对一组观察向量执行 K 均值算法,形成 K 个聚类。
scipy.cluster.vq.kmeans2(data,k,iter=10, thresh=1e-05, minit='random', missing='warn', check_finite=True)此例程使用 K 均值算法将一组观察值分类到 K 个聚类中。
  • scipy.cluster.hierarchy 模块 - 如名称所示,此 SciPy 模块提供用于层次聚类及其类型的函数,例如凝聚聚类。它具有各种例程,我们可以用它来:

    • 计算层次结构上的统计数据

    • 将层次聚类切割成扁平聚类。

    • 实现凝聚聚类。

    • 可视化扁平聚类。

    • 检查两个扁平聚类分配的同构性。

    • 绘制聚类。

更新于:2021年11月23日

141 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.