我在R中设置了一个训练测试函数,它接受一组数据,排除其中的某一部分(以排除模型对数据的过度拟合),然后在对另一半的模型进行测试之前,在剩余数据的大约一半上训练一个线性模型。在
我应该注意到,数据集是基于PCA得分的,这就是为什么线性模型被设置为包括七个PCA分量。在
splitprob = 0.7
trainindex = createDataPartition(scores$y, p=splitprob, list=F)
trainingset = scores[trainindex,]
testset = scores[-trainindex,]
model = glm(y ~ PC1 + PC2 + PC3 + PC4 + PC5 + PC6 + PC7, data=trainingset)
summary(model)
prediction = predict.lm(model, trainingset, se.fit=T)
现在,我要做的是运行这个脚本多次,生成多个模型,然后选择一个或多个模型,这些模型将用于将来的预测。虽然我已经将函数设置为要运行一定次数,但我不知道如何设置它以便我可以比较不同的模型(可能是通过使用AIC),也不确定应该如何捕获模型的参数以便将它们导出到文本文件或.csv文件。在
我尝试实现glmulti包,但是由于在使用Java、rJava和Mac OsSX时出现了各种问题,我在正确安装它方面遇到了很多问题。有人能给我推荐其他解决这个问题的方法吗?在
我每次都会更新(修改)答案,加入不同的预测因子
函数用于重复的列车测试拆分,它返回所有迭代的摘要统计信息(它获取数据、迭代次数、公式和列车测试中的拆分百分比)
^{pr2}$第一个模型只包含三个预测因子
输出示例
^{4}$第二个模型也包括交互作用
第二个模型的输出示例
您可以使用适合您的数据的求值度量,还可以查看another stackoverflow question中“aic”和“bic”之间的差异。在
相关问题 更多 >
编程相关推荐