我从 50 个不同的块中收集了数据,然后将 49 个块中的数据合并到一个数据集中,并保存了 1 个块中的数据以用于测试目的。
然后我使用 train_test_split(sklearn) 将合并的数据集从 49 个块中拆分出来。然后使用训练数据通过交叉验证训练随机森林回归器,并在训练(0.99)和测试集(0.94)上获得良好的模型得分(来自 sklearn 随机森林回归模型的 R^2 得分)。但是当我在 1 块的保留数据上使用经过训练的模型时,性能非常糟糕(-1.0)。
如果我合并所有 50 个块的数据,然后使用训练测试拆分并保留 60% 的数据作为训练集、20% 作为测试集和 20%(保留集),我从所有三组中都得到了很好的分数。训练集分数(0.98),测试集(0.93)和保留集(0.96)。
关于可能导致这种情况的任何直觉?以及关于如何提高 1 块看不见的数据的模型分数的任何建议?