在 R 中使用 h2o.confusionMatrix 函数时出现错误“下标越界”

I have an error " subscript out of bound " while using h2o.confusionMatrix function in R

请在构建模型和检查准确性时查找附件错误。我正在使用 H2o 包。 我已将模型创建为 h2o 模型。我想在测试和验证数据中应用该模型。

我的 R 代码是:-

library(mlbench)
library(h2o)
h2o.init(nthreads = -1)
data("BreastCancer")

#Adjusting data types
data<-BreastCancer[,-1] #remove the ID column
#converting all columns to numeric type
data[,c(1:ncol(data))]<-sapply(data[,c(1:ncol(data))],as.numeric)
#convert class column to factor type
data[,'Class']<-as.factor(data[,'Class'])

#converting in the h2o format
splitsample<-sample(1:3,size=nrow(data),prob=c(0.6,0.2,0.2),replace=TRUE)
train_h2o<-as.h2o(data[splitsample==1,])
val_h2o<- as.h2o(data[splitsample==2,])
test_h2o<-as.h2o(data[splitsample==3,])
model<- h2o.deeplearning(x=1:9,# column number for predictors
                         y=10, #column number for label
                         #data in H2o format
                         training_frame = train_h2o,
                         #or 'Tanh'
                         # TanhWithDropout means Tanh function with regularization 
                         activation = "TanhWithDropout",
                         #% of inputs dropout
                         # It is used to drop bad or curropted or noise data
                         input_dropout_ratio = 0.2,
                         #balanced the two class 
                         balance_classes = TRUE,
                         #two hidden layers of 10 units
                         hidden = c(10,10),
                         #% for nodes dropout
                         # dropout probability for hidden layers
                         hidden_dropout_ratios = c(0.3,0.3),
                         #max no. of epochs
                         # Times of iterate data
                         epochs = 10,
                         seed=0)
h2o.confusionMatrix(model)


#validation confusion matrix

h2o.confusionMatrix(model,newdata=val_h2o)

我的错误是:

Error in res$model_metrics[[1L]] : subscript out of bounds

请任何人帮助我进行深度学习。非常感谢你。

我在这段代码中有错误:-

h2o.confusionMatrix(模型,新数据=val_h2o)

Error in res$model_metrics[[1L]] : subscript out of bounds

我无法重现错误,所以我假设您使用的是一些旧版本的 H2O。在 H2O 的稳定版本(今天是 3.10.5.2)上,我可以毫无错误地执行你的代码。

> h2o.confusionMatrix(model,newdata=val_h2o)
Confusion Matrix (vertical: actual; across: predicted)  for max f1 @ threshold = 0.228804884732884:
        1  2    Error    Rate
1      89  2 0.021978   =2/91
2       0 46 0.000000   =0/46
Totals 89 48 0.014599  =2/137

如果您以后遇到错误,请确保尝试升级到最新稳定版本的 H2O,并在报告错误之前再次尝试查看是否修复了错误。稳定版本的 link 总是在这个 page 上,也在 CRAN 上。我们经常发布,因此最好确保您始终 运行 最新版本。