我使用的是h2o 3.10.4.8版本。如何解釋H2O的混淆矩陣?
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-雲芝。
這是h2o.table(preds["predict"])
輸出:
predict Count
1 Iris-setosa 50
2 Iris-versicolor 49
3 Iris-virginica 51
這告訴我,對模型所做的預測,49是虹膜雲芝。
混淆矩陣是否錯誤標記或我在解釋結果時犯了錯誤?
這是另一種方式:實際標籤是垂直的(行名稱),預測的標籤是橫跨的(列名稱)。這有點令人困惑,但是看錯誤率,反過來也沒有意義 – HubertL