在R中使用RNN和因子输入变量

时间:2016-07-12 16:11:08

标签: r recurrent-neural-network

在R中的rnn包中,该示例显示了如何使用数字输入变量训练RNN。

示例代码为:

library('rnn')

# create training numbers
set.seed(1)
X1 = sample(0:127, 7000, replace=TRUE)
X2 = sample(0:127, 7000, replace=TRUE)

# create training response numbers
Y <- X1 + X2

# convert to binary
X1 <- int2bin(X1, length=8)
X2 <- int2bin(X2, length=8)
Y  <- int2bin(Y,  length=8)

# create 3d array: dim 1: samples; dim 2: time; dim 3: variables
X <- array( c(X1,X2), dim=c(dim(X1),2) )

# train the model
model <- trainr(Y=Y,
                X=X,
                learningrate   =  0.1,
                hidden_dim     = 10,
                start_from_end = TRUE )

在上面的示例中,X1X2是数字变量。

如果输入变量是因子,我如何在R中训练RNN模型?

非常感谢,

1 个答案:

答案 0 :(得分:0)

您是否尝试将因素强制转换为数字:

Y <- as.numeric(Y)

对于预测值,您需要对它们进行舍入,然后再次应用这些级别:

pred <- round(pred)

pred <- as.factor(pred, labels = c(...))