如何解释随机森林分类的​​ H2O .predict 方法的输出?

How to interpret the output of H2O .predict method for random forest classification?

当我在我的训练模型上使用 predict 方法时,我得到了 1 行 206 列的输出。它似乎有 206 个值,范围从 0 到 1。这种情况是有道理的,因为模型的输出是可能值为 0 和 1 的分类变量。但我没有得到 206 个值,据我了解输出应该是 0 或 1 的值。206 个值是什么意思?

我花了大约一个小时浏览 h2o 文档,但似乎无法找到解释如何解释 predict 输出的 206 个值,而我期望一个值是 0 或 1。

谢谢。

根据您的评论更新:第一列是您的模型选择的答案。其余 205 列是 205 个类别中每个类别的预测置信度。 (这意味着您要预测的任何内容都是具有 205 个级别的因子(又名枚举)列。)这 205 列的总和应为 1.0。

列名应该是一个很好的线索:第一列是 "predict",但其他列是您的 205 个类别中每个类别的标签。


(旧答案,基于假设它是 206 行,1 列!)

如果 predict 为您提供单列输出,则您进行了回归,而不是分类。

This sort of makes sense as the model's output is categorical variable with values 0 and 1 as possible values.

H2O 看到了那些 0 和 1,并认为它们是数字,而不是类别。要进行分类,您只需将该列更改为枚举(H2O 的内部术语),又名因子(R/Python H2O API 术语)。 (在将数据加载到 H2O 之后、拆分数据或制作任何模型之前立即执行此步骤。)

例如如果 data 是您的 H2O 框架,并且 answer 是您的列的名称,其中包含 0 和 1 类别,您将执行:

data["answer"] = data["answer"].asfactor()

如果您的任何其他列看起来是数字但实际上应该被视为因素,您可以像这样一次处理多个列:

factorsList = ["cat1", "cat2", "answer"]
data[factorsList] = data[factorsList].asfactor()

您还可以在 import the data with the col_types argument 时设置列类型。