返回介绍

数学基础

统计学习

深度学习

工具

Scala

三、MeanShift

发布于 2023-07-17 23:38:23 字数 1933 浏览 0 评论 0 收藏 0

  1. MeanShiftscikit-learn提供的一种密度聚类模型。其原型为:

    
    
    xxxxxxxxxx
    class sklearn.cluster.MeanShift(bandwidth=None, seeds=None, bin_seeding=False, min_bin_freq=1, cluster_all=True, n_jobs=None)
    • bandwidth:一个浮点数,指定带宽参数。

      如果未指定,则通过sklearn.cluster.estimate_bandwith() 函数来自动计算。

    • seeds:一个形状为[n_samples,n_features] 的数组,用于初始化核函数。

      如果未指定,则通过sklearn.cluster.get_bin_seeds() 函数来自动计算。

    • bin_seeding:一个布尔值。

      • 如果为True,则并不会使用所有的点来计算核函数,而是使用网格边界上的点(网格宽度为带宽)来计算。这会加速算法的执行,因为核函数的初始化需要的点大大降低。
      • 如果为False,则使用所有的点来计算核函数。
    • min_bin_freq:一个整数值,指定有效网格包含的数据点的最少数量。

      bin_seeding=True 时,仅仅接收那些网格内包含超过min_bin_freq 个数据点的网格。

    • cluster_all:一个布尔值,指定是否对所有数据点进行聚类。

      • 如果为False,则对离群点不聚类,将离群点的簇标记设置为-1
      • 如果为True,则对离群点也聚类,将离群点划分到离它最近的簇中。
    • n_jobs:一个整数,指定并行度。

  2. 属性:

    • claster_centers_:一个形状为[n_clusters,n_features] 的数组,给出了每个簇中心的坐标。

    • labels_:一个形状为[n_samples,] 的数组,给出了每个样本所属的簇标记。

      如果cluster_all=False,则对于离群样本,其簇标记为 -1。

  3. 方法:

    • fit(X[, y]):训练模型。

    • fit_predict(X[, y]):训练模型并执行聚类,返回每个样本所属的簇标记。

    • predict(X):对每个样本预测其簇标记。

      每个样本距离最近的簇就是该样本所属的簇。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文