训练集,就是用来训练参数的,更新模型的参数。测试集,就是在模型最终训练完成后,用来测试一下最后的准确率。对最终筛选出来的模型的泛化能力进行评价,测试集最重要的就是未知,用一个学习集之外的数据集来对模型的效果进行评估,看看模型能否给出合适的输出。如果测试集准确率很差,那么我们还是回去调整模型的各种参数,这时候测试集其实也参与了训练。就是这样反复循环。
x_train = []
y_train = []
x_test = []
y_test = []
"""
使用前60天的开盘价作为输入特征x_train
第61天的开盘价作为输入标签y_train
"""
for i in range(60, len(training_set)):
x_train.append(training_set[i - 60:i, 0])
y_train.append(training_set[i, 0])
for i in range(60, len(test_set)):
x_test.append(test_set[i - 60:i, 0])
y_test.append(test_set[i, 0])
输入特征和输入标签的意义,以周志华老师在《机器学习》中判断好瓜的问题为例——给你一个西瓜,如何判断出一个它是不是正熟的好瓜?对于人类来说,根据以前的经验,我们首先会从西瓜这个具体的事物中抽取一些有用的信息,比如西瓜的颜色、瓜蒂的形状、敲击的声音等,然后根据一定的规则在这些信息的基础上进行判断————一般情况下我们认为颜色青绿、根蒂蜷缩、敲击浊响的西瓜是好瓜。
上述问题中,西瓜的颜色、瓜蒂的形状、敲击的声音就是特征,而“好瓜”和“坏瓜”这两个判断就是标签。更抽象一点,特征是做出某个判断的证据,标签是结论