问题:
在有时间关系的预测时,使用sklearn的train_test_split来划分训练集和测试集,会把原有的数据顺序打乱。此时进行数据预测,准确率高达99%,预测结果接近1,趋于完美。因此,对数据集进行重新划分从而进行验证。
原有代码:
from sklearn.model_selection import train_test_split
train_data, test_data, train_target, test_target = train_test_split(df_train, df_targets, test_size=0.8)
将训练集和测试集按照日期进行划分,将前面8个月作为训练集,后面4个月作为测试集,重新进行训练。
train_data = df_train[df_train.month <= 8]
train_target = train_data['meter_reading'] # 训练目标
test_data = df_train[df_train.month > 8]
test_target = test_data['meter_reading']