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

问题描述 投票:1回答:1

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

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

谢谢。

python random-forest h2o
1个回答
0
投票

在您的评论之后更新:第一列是您的模型选择的答案。其余205列是205个类别中每个类别的预测置信度。 (这意味着你想要预测的是一个具有205个级别的因子(也就是枚举)列。)这205个列应该总和为1.0。

列名应该是一个很好的线索:第一列是“预测”,但其他列是每个205类别的标签。


(老答案,假设它是206行,1列!)

如果预测为您提供了一列输出,那么您已经进行了回归,而不是分类。

这种情况很有意义,因为模型的输出是分类变量,值0和1是可能的值。

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

例如。如果data是您的H2O框架,并且answer是您的列的名称,其中包含0和1个catgeories,您可以:

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

如果您的任何其他列看起来是数字但实际上应该被视为因子,您可以一次执行多个列,如下所示:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.