0

我正在尝试创建一个机器学习集合,并且我有基于职业Ocp、年龄Age和性别进行预测的代码Gender

我想对最终预测的 3 个预测进行平均,但我不确定应该如何优化权重以最小化 RSME。

我知道Gender应该支配数据集。

这是我对代码的尝试:

temp <- NA; temp2 <- NA;temp3 <- NA
for (i in seq_len(11)) {
  for (j in seq_len(11)){
    temp2 = ((i-1)/10)*(((j-1)/10)*movie_pred2[,1]+((11-j)/10)*movie_pred2[,2]) +
      ((11-i)/10)*movie_pred[,3]
    temp2[temp2 > 5] = 5
    temp2[temp2 < 1] = 1
    temp[j] <- (sum((temp2 - tsind2[,2])^2)/length(tsind2[,2]))^.5
  }
  temp3[i,j] = temp[j]
}

我现在收到警告:

Error in temp3[i, j] = temp[j] : incorrect number of subscripts on matrix

In ((i - 1)/10) * (((j - 1)/10) * movie_pred2[, 1] + ((11 -  ... :
longer object length is not a multiple of shorter object length
4

1 回答 1

1

您的代码开始:

> temp3<- NA

..然后是一些其他的东西和结束

> temp3[i,j] = temp[j]

但无论您的结果temp是什么维度或大小,您都不能将维度数据推送到空维度对象中。

>dim(temp3)
NULL

你可能想要这样的东西:

>temp3=matrix(NA, i,j)
>temp3[,j] <- something

现在..首先我很抱歉,我不能再有帮助/具体了,但是如果没有输入数据的示例,几乎不可能解释其余的代码。其次,除非这是一项家庭作业或自学,否则我建议您研究许多 R 软件包,这些软件包将为您计算 RMSE 和/或进行集成学习,train例如caret

于 2013-12-02T10:06:02.190 回答