【问题标题】:H2O “OUTPUT - CLUSTER MEANS” section not report metrics correctlyH2O“输出 - 集群均值”部分未正确报告指标
【发布时间】:2019-01-22 00:11:08
【问题描述】:

(注意:这与我之前发布的一个问题有关 H2O (open source) for K-mean clustering)

我正在为我们的大约 100 个特征的数据集使用 K-Means(其中一些是时间戳)

(1) 我检查了“OUTPUT - CLUSTER MEANS”部分,时间戳字段的值类似于“1.4144556086883196e+22”。我们的时间戳文件是关于 2018 年的数据,而 2018 年 Unix 时间就像“1541092918000”。因此,它不可能是“1.4144556086883196e+22”那么大的数字。我对“OUTPUT - CLUSTER MEANS”部分的数字的理解应该接近原始数据(标准化之前)。对吧?

(2)关于标准化,能不能用这个例子https://github.com/h2oai/h2o-3/blob/master/h2o-genmodel/src/test/resources/hex/genmodel/algos/kmeans/model.ini#L21-L27告诉我输入数据是如何转换成标准化值的?说,我有一个原始向量值( a,b,c,d, 1.8 ),我只保留最后一个元素并省略其他元素。在这个例子中,我怎么知道它是否接近下面的中心 2。你能告诉我H2O如何使用standardize_means、standardize_mults和standardize_modes转换原始数据吗?我确信 H2O 有办法从模型输出中计算标准化值,但我找不到位置和公式。 center_2 = [2.0, 0.0, -0.5466317772145349, 0.04096506994984166, 2.1628815416218337]

谢谢。

【问题讨论】:

  • 你的第一个问题是这个时间戳是从哪里来的?只是一个简短的说明,时间戳自 unix 时间以来以毫秒为单位(并且可以对应于您运行模型的时间),因此您通常必须将 h2o-3 时间戳除以 1000,但在您的情况下,这个数字仍然看起来很大。

标签: h2o


【解决方案1】:

1) 我不确定您在 Flow 中的何处看到时间戳,或者您的意思是您的数据集是否包含 H2O-3 已转换的时间戳。无论哪种方式,听起来您都可能遇到了错误。您在 H2O-3 中看到的时间戳是自 Unix 纪元以来的毫秒数,因此您必须在使用 unix 时间转换器之前除以 1000(例如,您可以使用 https://currentmillis.com/)。但是再次考虑到这个数字是如此之大,我倾向于一个错误 - 你可以提供任何使其可重现的代码都会很棒。

1a) 当您检查 standardize 时,除了“输出 - 聚类均值”(未标准化)之外,您还会看到“输出 - 标准化聚类均值”,因此非标准化输出应反映您的单位输入。

2) H2O-3 中的标准化在here 中进行了描述(其中说:“将数值列标准化为具有零均值和单位方差。”)。您提供的链接指向一个已保存为 MOJO 的测试模型,我不确定用作示例是否有意义。但总的来说,h2o-3 的标准化工作方式与标准化的定义相同。

【讨论】:

  • Lauren,感谢您的回复 (1) 我们的数据有时间戳列,其值类似于“2018-05-27 00:00:00”。当我加载我们的 CSV 文件时,H2O 流会自动将此列检测为“时间”。然后,我运行 H2O(核心)来解析数据。我在“COLUMN SUMMARIES”中看到了解析结果,如“1509494400000.0”,看起来不错。然后,我用这些日期列运行 K-menas;然后在“OUTPUT - CLUSTER MEANS”部分中,时间戳字段的值类似于“1.4144556086883196e+22”。这看起来是一个错误。可能和我之前报道的有关(见上)
  • 对于 (2),我了解标准化过程,但这不是我的问题。我的问题是 H2O 如何从标准化集群结果反向过程回到原始值?我知道我可以在“OUTPUT - CLUSTER MEANS”中看到非标准化结果。但是,我想知道如何使用 MOJO 文件将 H2O 从标准化结果转换回非标准化结果?因此,我发布了 MOJO 文件作为示例......跨度>
  • 好的,非常感谢您的澄清! (1) 看起来像一个错误,正如您提到的,可能与您的原始帖子有关,(2) 让我回复您。
  • 另外,您能否解释一下 H2O 在训练分类特征期间如何处理缺失值?比如说,我有一个具有 True、False 和缺失值 (NaN) 的功能。谢谢。
  • 当然,kmeans 处理缺失值的方式在用户指南中算法页面底部的常见问题中有所描述(如果您对其他算法感兴趣,可以转到用户指南中的相应部分)。 docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/…
猜你喜欢
  • 2016-06-23
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-04
  • 1970-01-01
相关资源
最近更新 更多