前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何选取聚类算法

如何选取聚类算法

作者头像
desperate633
发布2022-12-09 14:11:48
5210
发布2022-12-09 14:11:48
举报
文章被收录于专栏:desperate633

“聚类算法的选取原则****”

01

问题背景

当遇到聚类分析问题的时候,机器学习领域中有很多聚类算法可供选择。标准的sklearn库就有13个不同的聚类算法。那么面对不同问题应该如何选择聚类算法呢?

正如数据科学和机器学习中的每个问题一样,它取决于您的数据。sklearn中的这十三个聚类算法中有许多专门用于某些任务(例如联合聚类和双聚类,或者用聚类特征代替数据点)。显然,专门用于文本聚类的算法将是对文本数据进行聚类的正确选择,而其他算法专门用于其他特定类型的数据。因此,如果您对数据有足够的了解,您可以缩小范围,选择最适合该类数据的聚类算法,或选择数据所具有的重要属性,或选择需要进行的聚类。一切都很好,但如果你对自己的数据了解不多怎么办?

例如,如果您正在进行一些探索性数据分析(exploratory data analysis (EDA)),那么选择专门的算法就不那么容易了。那么,什么算法适合于探索性数据分析呢?

下面就列举一些当对数据先验知识比较少的时候,在选择聚类算法时,可以遵循的一些基本原则。

图片

02

聚类算法选取原则

首先,让我们制定一些基本规则,说明我们需要一个好的聚类算法来做什么。

  • 正确性

如果您正在进行聚类分析,那么您就是在尝试学习并获得有关数据的信息。在这种情况下,完全没有结果比错误的结果要好得多。糟糕的结果会导致错误的直觉,反过来又会让你走上完全错误的道路。您不仅不理解数据,而且误解了数据。这意味着一个好的聚类算法需要在聚类中保持保守;它应该愿意不给集群分配点数;它不应该将点分组在一起,除非它们真的在一个集群中;比你想象的要少得多的算法也是

  • 直观的参数

所有聚类算法都有参数;你需要一些参数来调整效果。问题是:如何选择这些参数的设置?如果您对数据知之甚少,则很难确定参数的值或设置。这意味着参数需要足够直观,以便您可以在不需要了解大量数据的情况下进行设置。

  • 结果的稳定性 如果使用不同的随机初始化运行两次该算法,应该可以得到大致相同的集群。如果您正在对数据进行采样,那么采取不同的随机样本不应该从根本上改变最终的集群结构(除非您的采样有问题)。如果更改聚类算法参数,则希望聚类以某种稳定的可预测方式更改。
  • 性能 数据集只会越来越大。您可以采样样本(但要看到稳定性),但最终您需要一个能够扩展到大数据量的聚类算法。如果只能在获取子样本,以至于不再代表整个数据的情况下使用聚类算法,那么聚类算法就没有多大用处!
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档