首页 > 解决方案 > R 回归模型结果在训练/测试拆分和种子方面差异很大

问题描述

我在 R 中运行线性回归模型,在我的例子中是 Lasso 回归。我发现的所有教程都使用数据分区将数据集拆分为训练数据(80%,用于训练模型)和测试数据(20%,用于做出预测)。

随机化用于选择哪些数据用于训练和测试。为了获得可重复的结果,我使用以下方法设置种子:

set.seed(500)
index <- createDataPartition(data$y, p=0.8, list=FALSE, times=1)
training_data <- data[index,]
test_data <- data[-index,]

在建立了整个工作流程之后,我想我可以删除 set.seed() 函数,因为对于一个健壮的模型来说,将哪些数据用作训练数据或测试数据并不重要,对吧?在没有 set.seed() 或使用不同的 set.seed() 的情况下运行模型(例如 set.seed(1)、set.seed(230)、set.seed(3409)、...),我不敢看到模型的相关系数变化很大!

我经常没有相同的系数,每个系数的相关强度也不同。我认为在一个健壮的模型中,这不应该发生,对吧?有时,在一个模型中具有 100% 相对影响的最突出的系数在另一个模型中根本不相关。

你怎么看这个问题?将代表性模型拟合到我的数据是否存在问题?您对 set.seed() 有什么建议 - 可以删除吗?应该使用它吗?

标签: rregressionlinear-regressionrandom-seedlasso-regression

解决方案


推荐阅读