我有16列的训练数据和14列的测试数据,并且测试数据中不存在训练数据的最后两个目标列(这非常重要)。此外,已经给出了测试数据并给出了训练数据。
我想的方法是先将训练数据和测试数据合并,然后将数据拆分为X_Train
,Y_Train
,X_Test
和Y_Test
。这是一个好方法吗?或者还有其他方法可以开始吗?
我还没有编码。但是在我开始之前,我需要一些建议。
谢谢
答案 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%进行测试)并使用交叉验证。
如果您的测试集不包含目标变量,则对评估没有用。我认为这是您的一项任务还是一项比赛?因为它们总是为您提供测试集,并保留目标以供您评估