尝试将数据拆分为训练集,测试集和验证集(按时间顺序)

时间:2017-10-31 16:20:29

标签: r machine-learning split

我有一个数据集:

library(quantmod)
getSymbols('GOOG', from = "2010-05-01", to = "2017-05-01", src = "yahoo")

我正在尝试将这些数据分成火车(nrow 1:占60%的数据),测试(nrow 60%的数据以获得80%的数据)并最终验证(nrow 80%的数据)数据以获得100%的数据。)

我有以下内容;

library(caTools)
set.seed(123)
split <- sample.split(GOOG[Close], SplitRatio = 0.60)
train = subset(GOOG, split == TRUE)
nottrain = subset(GOOG, split == FALSE)

我被困在这里,我一直试图将“nottrain”数据集分成两部分而运气不佳。

我也相信数据集会随机分割(如果我错了,请纠正我)。我正试图按上述方法拆分它。

任何指向正确方向的人都会非常感激。

2 个答案:

答案 0 :(得分:-1)

@ user113156,

&#34;我试图提高(假设我们有100天的简单数据):第1天60天对应60%,第61:80天对应60%后的前20% ,第81天:100将是最后的20%,(我理解%不准确......要考虑的另一个问题)&#34;

为什么不将数据放入数据框中,然后只需获取行的前60%并将其放入&#34;火车&#34; df,&#34; nottrain1&#34;的下一个20% df,并且&#34; nottrain2&#34;持续20% DF?看起来这是最简单的方法。也许我误解了这个问题。

答案 1 :(得分:-2)

你能澄清一下你的问题吗?拆分数据时,您是否尝试执行以下操作:将数据集拆分为列车的前60%记录,未列车的下一个40%,以及将非列车分成两半?例如,如果您有1000条记录,则需要记录1-600在列车中,记录601-800在nottrain的第一部分和801-1000在nottrain的第二部分中,或者您是否希望它全部随机化?如果你能澄清一下,我们可以提供帮助。