【问题标题】:What is the purpose of the holdout set in k-means clustering?k-means 聚类中保持集的目的是什么?
【发布时间】:2017-12-06 02:53:10
【问题描述】:

Link to the MIT problem set

这是我目前的想法——请指出我错了:)

我相信:抵抗系列的目的是挫败, 相反,对于训练集 - 证明 k-means 消除了每一轮的错误。

为此,保持集一开始就显示错误- 宁,即它不会重新计算每个集群的质心 在每个集群的最中心,在每个之后 点已分配。它只是停止,错误是 计算出来的。

训练集,对于最初 80% 的点—— 使用 randomPartition() 进行分区——只需通过 整个 k-means 函数,然后返回错误 那个。)

我可能错的地方:问题可能只是 请求再次运行 k-means,但使用较小的集合。 此外,计算训练集的误差与保持的方法 设置似乎与我相同。他们可能不是。 另外,我听说过一些关于特征选择的事情。

我正在考虑基于当前信念的当前方法: 复制k-means函数,修改复制的 以便它在初始后返回集群 maxDistance 跑步。将此函数用于保持集。

【问题讨论】:

  • 将保持集用于聚类并不常见。聚类不是分类。

标签: python algorithm cluster-analysis k-means


【解决方案1】:

聚类的目标是对相似的数据点进行分组。但是你怎么知道你分组的相似数据点是否正确分组?你如何判断你的结果?因此,您将可用数据分为两组:训练和坚持。

以此为类比。

将训练集视为一些考试的练习题。你做练习题,努力做到最好并提高你的技能。

您可以将保留集视为实际检查。如果您在练习题(训练集)上做得很好,那么您可能会在考试中表现出色(保留集)。

现在您知道您在实践和考试中的表现如何(当然是在尝试之后) )。

因此,您将对训练数据应用聚类算法,而不是对保留数据应用聚类算法,并找出聚类中心(聚类的代表)。对于保留数据,您只需使用从算法中找到的集群中心,并将数据点分配给中心最近的集群。根据某些性能指标(在您的情况下为平方距离误差)计算您在训练和保持数据上的性能。最后将这些指标在不同的 k 值上进行比较,以获得良好的判断。它还有更多内容,但为了分配,它似乎已经足够了。

在实践中,还有许多其他方法。但其中大多数的关键思想是相同的。有一个统计社区,您可以在其中找到更多类似的问题:https://stats.stackexchange.com/

参考资料:

https://en.wikipedia.org/wiki/Cross-validation_(statistics)#Holdout_method

【讨论】:

    猜你喜欢
    • 2021-04-29
    • 2014-06-04
    • 2020-01-31
    • 2015-04-11
    • 2013-01-11
    • 2016-02-01
    • 2019-05-04
    • 2015-06-04
    • 2010-11-22
    相关资源
    最近更新 更多