首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于K均值聚类的H2O (开源)

用于K均值聚类的H2O (开源)
EN

Stack Overflow用户
提问于 2019-01-08 16:16:01
回答 1查看 215关注 0票数 0

我使用H2O (特别是H2O flow )来进行K均值聚类。我选择了“标准化”复选框,以确保“在计算距离之前对列进行标准化”。它训练得很好,我调查了结果。它描述了结果中的"within_cluster_sum_of_squares“以供审查。我的问题是"within_cluster_sum_of_squares“是标准化之前还是标准化之后的距离?它看起来在标准化之后显示了距离,但我看到的距离很大,似乎在标准化之前(虽然我不确定)。有什么想法吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-01-10 06:20:32

当您为Flow中的K-Means选择standardize时,它会在计算距离之前标准化列(设置如下所示)。

因此,为了回答您的问题,"within_cluster_sum_of_squares“是在执行标准化之后计算的距离计算

您的度量值可能看起来太大的一个原因是,如果您期望H2O-3 \f25 Kmeans标准化选项执行标准化(e.g.normalize =x/ ||x||)而不是标准化(例如,标准化= (x -均值)/ sd)

来自k-means documentation的标准化选项概述如下:

标准化:启用此选项可标准化数值列,使其平均值和单位差异为零。强烈建议使用标准化;如果不使用标准化,则结果可能包括由变量主导的组件,这些变量相对于其他属性在规模上似乎具有更大的方差,而不是真正的贡献。默认情况下,此选项处于启用状态。

注意:如果启用了标准化,则在使用算法之前,每列数字数据都会居中并缩放,以使其平均值为零,标准差为1。在过程结束时,集群以标准化尺度(centers_std)和去标准化尺度(中心)为中心。为了去标准化中心,该算法乘以相应列的原始标准差,并添加原始平均值。启用标准化在数学上等同于在R中使用h2o.scale,在数值列上使用center = TRUE和scale = TRUE。因此,如果K均值启用标准化或不启用标准化,将没有明显的区别,因为H2O计算未标准化的质心。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54087676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档