所以我有一个数据集,我一直在执行机器学习算法。我在一个180 x 160的数据集上进行了MLR,逐步回归,SVM和随机森林。我正在为159个其他变量建模一个变量,共179个案例。这都是回归建模。我一直在使用插入包,我使用列车功能使用不同的机器学习算法进行10次交叉验证10次。有人告诉我读一篇使用过神经网络模型而且得到更好结果的论文,所以我一直试图找到一种方法来做同样的事情但是用神经网络模型代替。
我已经看过以下内容: -
model <- train(RT..seconds.~., data = cadets, method = "AMORE", trControl = ctrl)
但它不起作用。我被告知它不会起作用,因为列车功能还没有包装AMORE。所以我希望改用nnet: -
model <- train(RT..seconds.~., data = cadets, method = "nnet", trControl = ctrl)
哪个有效。然而,我得到的RMSE值是171,当我查看我的预测值和观测值时,预测值都只是1和0.9999。有谁知道我做错了什么?
谢谢!
答案 0 :(得分:1)
您需要为linout = TRUE
功能使用nnet
选项:
model <- train(RT..seconds.~., data = cadets,
method = "nnet", trControl = ctrl,
linout = TRUE)
如果不这样做,则使用S形激活函数,并且所有预测都将被约束为[0,1]。