在 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 上。我们经常发布,因此最好确保您始终 运行 最新版本。
请在构建模型和检查准确性时查找附件错误。我正在使用 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 上。我们经常发布,因此最好确保您始终 运行 最新版本。