【发布时间】:2017-09-27 06:31:44
【问题描述】:
library(h2o)
h2o.init(nthreads=-1)
test <- h2o.importFile(path = "C:/Users/AkshayJ/Documents/newapril/data/testdata.csv")
train <- h2o.importFile(path = "C:/Users/AkshayJ/Documents/newapril/data/traindata.csv")
y <- "Label"
train[,y] <- as.factor(train[,y])
test[,y] <- as.factor(test[,y])
train[,"Allele1Top"] <- as.factor(train[,"Allele1Top"])
test[,"Allele1Top"] <- as.factor(test[,"Allele1Top"])
train[,"Allele2Top"] <- as.factor(train[,"Allele2Top"])
test[,"Allele2Top"] <- as.factor(test[,"Allele2Top"])
train[,"Allele1Forward"] <- as.factor(train[,"Allele1Forward"])
test[,"Allele1Forward"] <- as.factor(test[,"Allele1Forward"])
train[,"Allele2Forward"] <- as.factor(train[,"Allele2Forward"])
test[,"Allele2Forward"] <- as.factor(test[,"Allele2Forward"])
train[,"Allele1AB"] <- as.factor(train[,"Allele1AB"])
test[,"Allele1AB"] <- as.factor(test[,"Allele1AB"])
train[,"Allele2AB"] <- as.factor(train[,"Allele2AB"])
test[,"Allele2AB"] <- as.factor(test[,"Allele2AB"])
train[,"Chr"] <- as.factor(train[,"Chr"])
test[,"Chr"] <- as.factor(test[,"Chr"])
train[,"SNP"] <- as.factor(train[,"SNP"])
test[,"SNP"] <- as.factor(test[,"SNP"])
x <- setdiff(names(train),y)
model <- h2o.deeplearning(
x = x,
y = y,
training_frame = train,
validation_frame = test,
distribution = "multinomial",
activation = "RectifierWithDropout",
hidden = c(32,32,32),
input_dropout_ratio = 0.2,
sparse = TRUE,
l1 = 1e-5,
epochs = 10)
predic <- h2o.predict(model, newdata = test)
table(pred=predic, true = test[,21])
一切都很好,但最后一行 表(pred=predic,true = test[,21]) 给出错误 unique.default(x, nmax = nmax) 中的错误: 向量分配中的类型/长度(环境/0)无效
【问题讨论】:
-
重新打开原因:虽然代码示例不是最小的(也不是可重现的,因为没有包含数据),但足以理解问题并能够回答它。
-
Akshay,对于分类问题(像这样),使用 iris 数据集通常是好的(h2o 检测 iris 数据中的列类型也没有问题,所以不需要弄乱你的最小代码
as.factor()行)。 -
好的...记住这一点
标签: r machine-learning deep-learning h2o