如何正确拆分时间序列数据以进行 sklearn 分类?
How to a split time series data for sklearn classification correctly?
我有一个数据集(包含 BTC 的价格数据),我试图预测价格是否会在下一分钟上涨(分类)。
如何精确拆分这个数据集?当我将它随机分成训练集和测试集时,我得到了 74% 的准确率。
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
当我禁用随机播放功能时,准确率会下降很多 (49%)。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, shuffle=False)
这是怎么回事?我使用哪种方法?
或者是否有更好的方法将拆分时间序列数据集拆分为训练和测试数据集?
正确的分割方式是按时间顺序排列。对于此类数据,50% 的准确度似乎是合理的(即你有 50% 的机会是正确的,50% 的机会是错误的)。
我有一个数据集(包含 BTC 的价格数据),我试图预测价格是否会在下一分钟上涨(分类)。
如何精确拆分这个数据集?当我将它随机分成训练集和测试集时,我得到了 74% 的准确率。
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
当我禁用随机播放功能时,准确率会下降很多 (49%)。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, shuffle=False)
这是怎么回事?我使用哪种方法?
或者是否有更好的方法将拆分时间序列数据集拆分为训练和测试数据集?
正确的分割方式是按时间顺序排列。对于此类数据,50% 的准确度似乎是合理的(即你有 50% 的机会是正确的,50% 的机会是错误的)。