如何解释H2O的混淆矩阵?

时间:2017-06-01 19:21:40

标签: r h2o confusion-matrix

我正在使用h2o版本3.10.4.8。

library(magrittr)
library(h2o)

h2o.init(nthreads = -1, max_mem_size = "6g")

data.url <- "https://raw.githubusercontent.com/DarrenCook/h2o/bk/datasets/"

iris.hex <- paste0(data.url, "iris_wheader.csv") %>%
  h2o.importFile(destination_frame = "iris.hex")

y <- "class"
x <- setdiff(names(iris.hex), y)


model.glm <- h2o.glm(x, y, iris.hex, family = "multinomial")

preds <- h2o.predict(model.glm, iris.hex)

h2o.confusionMatrix(model.glm)
h2o.table(preds["predict"])

这是h2o.confusionMatrix(model.glm)

的输出
Confusion Matrix: vertical: actual; across: predicted
                Iris-setosa Iris-versicolor Iris-virginica  Error      Rate
Iris-setosa              50               0              0 0.0000 =  0 / 50
Iris-versicolor           0              48              2 0.0400 =  2 / 50
Iris-virginica            0               1             49 0.0200 =  1 / 50
Totals                   50              49             51 0.0200 = 3 / 150

因为它说:预测,我认为这意味着该模型做出了50(0 + 48 + 2)个预测,这是Iris-versicolor。

这是h2o.table(preds["predict"])

的输出
          predict Count
1     Iris-setosa    50
2 Iris-versicolor    49
3  Iris-virginica    51

这告诉我该模型做出了49个预测,它们是鸢尾花。

混淆矩阵是否标注不正确,或者在解释结果时是否犯了错误?

2 个答案:

答案 0 :(得分:2)

行名(垂直)是实际标签。

列名(跨)是预测标签。

答案 1 :(得分:0)

你没有犯错;标签令人困惑(并导致人们认为行和列已切换)。这是fixed recently,将包含在下一版H2O中。