r h2o.deeplearning: 使用权重时出错 - "weights_column" 必须是字符类型,但得到的是数字
r h2o.deeplearning: error when using weights - "weights_column" must be of type character, but got numeric
我一直在尝试使用 h2o.deeplearning 将数据点权重添加到我的分析中。
以下代码
library(h2o)
x <- rnorm(1000)
y <- x-x^2+rnorm(1000,sd=0.2)
w <- vector(length=1000) #weights vector
w[] <- 1
dfx <- data.frame(x,y,w)
h2o.init()
dfx <- as.h2o(dfx)
H <- h2o.deeplearning(x = 1, y = 2,training_frame=dfx,weights_column = 3, hidden=c(5,4))
给出
Error in .h2o.checkAndUnifyModelParameters(algo = algo, allParams = ALL_PARAMS, :
"weights_column" must be of type character, but got numeric.
用 weights_column '3' 代替 'w' 得到相同的结果。我试过 as.character(w),但它肯定不喜欢那样。
用 dfx[3] 或 dfx$w 替换 weights_column 得到:
Error in args$x_ignore[!(weights_column == args$x_ignore)] :
invalid subscript type 'environment'
这个错误让我摸不着头脑,因为它似乎与在任何其他模型中实现此类事情的方式不同。我发现 google 没有提到这个错误,documentation 也没有给出任何进一步的解释。
好吧我在提交这个问题后很快就解决了这个问题。仍然值得为其他有类似问题的人保留。
weights_column 必须由 h2o.data.frame 中列的 名称 指定。 IE。它必须用引号引起来。它不能是不同的 h2o 对象或列的索引。以下代码有效。
library(h2o)
x <- rnorm(1000)
y <- x-x^2+rnorm(1000,sd=0.2)
w <- vector(length=1000) #weights vector
w[] <- 1
dfx <- data.frame(x,y,w)
h2o.init()
dfx <- as.h2o(dfx)
H <- h2o.deeplearning(x = 1, y = 2,training_frame=dfx,weights_column = "w", hidden=c(5,4))
我一直在尝试使用 h2o.deeplearning 将数据点权重添加到我的分析中。
以下代码
library(h2o)
x <- rnorm(1000)
y <- x-x^2+rnorm(1000,sd=0.2)
w <- vector(length=1000) #weights vector
w[] <- 1
dfx <- data.frame(x,y,w)
h2o.init()
dfx <- as.h2o(dfx)
H <- h2o.deeplearning(x = 1, y = 2,training_frame=dfx,weights_column = 3, hidden=c(5,4))
给出
Error in .h2o.checkAndUnifyModelParameters(algo = algo, allParams = ALL_PARAMS, :
"weights_column" must be of type character, but got numeric.
用 weights_column '3' 代替 'w' 得到相同的结果。我试过 as.character(w),但它肯定不喜欢那样。
用 dfx[3] 或 dfx$w 替换 weights_column 得到:
Error in args$x_ignore[!(weights_column == args$x_ignore)] :
invalid subscript type 'environment'
这个错误让我摸不着头脑,因为它似乎与在任何其他模型中实现此类事情的方式不同。我发现 google 没有提到这个错误,documentation 也没有给出任何进一步的解释。
好吧我在提交这个问题后很快就解决了这个问题。仍然值得为其他有类似问题的人保留。
weights_column 必须由 h2o.data.frame 中列的 名称 指定。 IE。它必须用引号引起来。它不能是不同的 h2o 对象或列的索引。以下代码有效。
library(h2o)
x <- rnorm(1000)
y <- x-x^2+rnorm(1000,sd=0.2)
w <- vector(length=1000) #weights vector
w[] <- 1
dfx <- data.frame(x,y,w)
h2o.init()
dfx <- as.h2o(dfx)
H <- h2o.deeplearning(x = 1, y = 2,training_frame=dfx,weights_column = "w", hidden=c(5,4))