我有一个有148行的数据集。我想把我的前144行作为我的训练数据,最后4行作为我的测试数据,我想做一个滚动预测。
在第一次迭代中 - [1:144]训练& [145:145]测试
在第二次迭代中 - [1:145]训练& [146:146]测试
在第三次迭代中 - [1:146]训练& [147:147]测试
在第四次迭代中 - [1:147]训练& [148:148]测试
我编写了一个函数,我将数据拆分为训练和测试集。
def trainAndTest(x, y):
splitPoint = 144
xTrain = x.loc[:splitPoint]
xTrain = xTrain.values
xTest = x.loc[splitPoint:]
xTest = xTest.values
yTrain = y.loc[:splitPoint]
yTrain = yTrain.values
yTest = y.loc[splitPoint:]
yTest = yTest.values
reg = best_model
reg.fit(X=xTrain, y=yTrain)
yPred = reg.predict(xTest)
return yTest, yPred
现在我想在这个函数中编写一段代码,它可以执行我想要的滚动训练和测试分区(在开头讲解)并将其输入到模型中。
我能感觉到我必须迭代它,但我很震惊
我如何实现它?如果您可以提供所有专业知识,我将不胜感激