训练数据比测试数据具有更多的列

时间:2019-04-06 09:32:53

标签: machine-learning classification training-data

我有16列的训练数据和14列的测试数据,并且测试数据中不存在训练数据的最后两个目标列(这非常重要)。此外,已经给出了测试数据并给出了训练数据。 我想的方法是先将训练数据和测试数据合并,然后将数据拆分为X_TrainY_TrainX_TestY_Test。这是一个好方法吗?或者还有其他方法可以开始吗?

我还没有编码。但是在我开始之前,我需要一些建议。

谢谢

2 个答案:

答案 0 :(得分:1)

好吧,我不知道您要解决什么任务,但似乎您想在训练数据集上训练模型,然后预测测试数据集的目标(这就是为什么没有这些目标的原因)。

如果您想评估模型在训练阶段的表现,可以使用// This gives strange value int longitude = BitConverter.ToInt32(array.Skip(43).Take(4).ToArray(), 0); Console.WriteLine("Logitude for +RSP is {0}", longitude); int latitude = BitConverter.ToInt32(array.Skip(47).Take(4).ToArray(), 0); Console.WriteLine("Latitude for +RSP is {0}", latitude); // Following gives correct value but not the negative one. int longitudeC = Convert.ToInt32(BitConverter.ToString(array.Skip(43).Take(4).ToArray()).Replace("-",""), 16); Console.WriteLine("Logitude for +RSP is {0}", longitudeC); int latitudeC = Convert.ToInt32(BitConverter.ToString(array.Skip(47).Take(4).ToArray()).Replace("-", ""), 16); Console.WriteLine("Latitude for +RSP is {0}", latitudeC); 将训练数据分为真实的训练集和验证集。如果验证准确性足够好,您就可以采用训练有素的模型并对其调用test_train_split(X_train,y_train)

答案 1 :(得分:1)

要评估模型,您可以将训练集分为训练和测试(使用20%进行测试)并使用交叉验证。

如果您的测试集不包含目标变量,则对评估没有用。我认为这是您的一项任务还是一项比赛?因为它们总是为您提供测试集,并保留目标以供您评估