我有 5-6k 个变量的回归问题。我将我的数据分成 3 个不重叠的集合:训练、验证和测试。我只使用训练集进行训练,并通过为每个模型选择一组不同的 200 个变量来生成许多不同的线性回归模型(我尝试了大约 100k 个这样的子集)。我将模型评分为. 使用这个标准,我最终选择了一个模型。事实证明,选择的模型非常相似关于训练和验证数据。但是,当我在测试数据上尝试这个模型时,它的值要低得多. 因此,我似乎在某种程度上过度拟合了训练和验证数据。关于如何获得更强大的模型的任何想法?
我尝试增加训练数据的大小,但这并没有帮助。我正在考虑缩小每个子集的大小。
我尝试过使用正则化。但是,我使用套索或弹性网获得的模型要低得多在训练集和验证集上,与我通过子集选择方法获得的模型相比。因此,我不考虑这些模型,因为我假设如果模型 A 在训练集和验证集上的表现都比模型 B 好,那么模型 A 显然比模型 B 好。我会很好奇如果你不同意这一点。
在相关的说明中,您认为选择我的模型是一个不好的标准吗?