Tensorflow 可能耦合数据集的数据集拆分实践

Tensorflow 可能耦合数据集的数据集拆分实践,tensorflow,machine-learning,split,neural-network,dataset,Tensorflow,Machine Learning,Split,Neural Network,Dataset,我目前正在做一个项目,将不同的太阳能预测结合起来,以获得更准确的预测。跳过有关“如何”和“为什么”的一些详细信息,“我的数据集”包含以下内容: (y数据)在31个气象站进行的400天(荷兰)气象站测量(每日太阳产量) (x)每天和站点的数据:不同天气预报的集合 目标是那个日期和地点 模型输出为单节点,模型采用均方误差损失进行训练 但是,我不确定如何分割数据集,因为可能存在一些耦合: 将数据点添加到与测试集数据点(但针对不同车站)在同一日期收集的列车集是有问题的,因为x/y数据可能太相似。该

我目前正在做一个项目,将不同的太阳能预测结合起来,以获得更准确的预测。跳过有关“如何”和“为什么”的一些详细信息,“我的数据集”包含以下内容:

  • (y数据)在31个气象站进行的400天(荷兰)气象站测量(每日太阳产量)
  • (x)每天和站点的数据:不同天气预报的集合 目标是那个日期和地点
模型输出为单节点,模型采用均方误差损失进行训练

但是,我不确定如何分割数据集,因为可能存在一些耦合:

  • 将数据点添加到与测试集数据点(但针对不同车站)在同一日期收集的列车集是有问题的,因为x/y数据可能太相似。该模型没有在全新的日期进行性能测试
  • 对于来自不同日期的同一站点的数据点,可以使用相同的参数:对于看不见的位置,不会验证模型
因此,理想情况下,我们希望为测试集单独分配一些专用日期和专用站点。然而,这意味着这些测试站在训练日期(反之亦然)的测量值将不能用于训练和测试。如果我们将所有日期的1/3和所有站点的1/3用于测试(需要获得80%/20%的训练/测试集比率),那么剩余数据将占整个数据集的44%。鉴于数据集不是太大,我不确定该怎么办

我考虑过以下几种选择:

  • 只需忽略这种可能的耦合,并正常拆分数据点(根据日期或基于站点拆分数据集)
  • 只需接受一个事实,即大部分数据不能同时用于测试和培训
  • 将剩余数据用作第二个测试集。如果似乎没有出现过拟合(两个测试集的性能大致相同),则在训练、测试和再训练中分割剩余数据
  • 创建两个测试集:一个用于所有日期的某些专用站点,另一个用于所有站点的某些专用日期。不要在车组中使用这些专用日期和车站
  • 在这种情况下,什么是可取的或“良好做法”