我正在尝试创建一个机器学习集合,我的代码根据占用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
答案 0 :(得分:1)
您的代码开始于:
> temp3<- NA
..然后其他一些东西和目的
> temp3[i,j] = temp[j]
但结果temp
的尺寸或大小无关紧要,您无法将尺寸标注的数据推送到空维对象中。
>dim(temp3)
NULL
您可能需要以下内容:
>temp3=matrix(NA, i,j)
>temp3[,j] <- something
现在..首先,我很抱歉,我不能再提供任何帮助/具体但是如果没有输入数据的示例,几乎不可能解释其余的代码。其次,除非这是家庭作业或自学,我建议你研究一下将计算RMSE的许多R包和/或为你做整体学习,例如: train
caret
函数