R中线性模型的交叉验证

时间:2016-03-31 12:00:28

标签: r cross-validation

我正在尝试使用cv.lm对R中的线性模型进行交叉验证。我尝试使用类似的东西在单独的变量中捕获cv.lm的输出:

cvOutput< - cv.lm(.....)

但是,我无法从每个折叠中提取预测值,因为 cvOutput 似乎没有关于折叠的信息。有什么方法可以解除这个吗?

1 个答案:

答案 0 :(得分:0)

试一试。 (我使用MASS包中的Caravan数据集) 首先对数据进行分区

'use strict';

var Model = require('./Model');

exports.modelFieldSET = function(args, response, next) {

    // args passed from path, ie: www.mysite.com/model/setField/{myId}/{field}/{value}
    var updateField = 'attributes.' + args.field.value;
    Model.Model.findOneAndUpdate({myId: args.myId.value},
    {
        $set: {
            [updateField]: args.value.value
        }
    },
    { new: true, context: 'query', runValidators: true },
    function(err, updateResponse){
        console.log(err);
        response.end(JSON.stringify(updateResponse, null, 4));
    });
}

然后选择方法

df <- Caravan
inTrain <- createDataPartition(df$Purchase, 
                           p =0.8, 
                           list =F)
training <- df[ inTrain,]
testing <- df[-inTrain,]

然后您可以使用交叉验证模型

fitControl <- trainControl(method = "cv", number = 10)