一、训练集、测试集
训练集(Training Set):帮助我们训练模型,简单的说就是通过训练集的数据让我们确定拟合曲线的参数。
测试集(Test Set): 为了测试已经训练好的模型的精确度,评估模最终模型的泛化能力。
当然,测试集并不能保证模型的正确性,他只是说相似的数据用此模型会得出相似的结果。因为我们在训练模型的时候,参数全是根据现有训练集里的数据进行修正、拟合,有可能会出现过拟合的情况,即这个参数仅对训练集里的数据拟合比较准确,这个时候再有一个数据需要利用模型预测结果,准确率可能就会很差。
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、交叉验证法
1.目的
交叉验证法的作用就是尝试利用不同的训练集/验证集划分来对模型做多组不同的训练/验证,来应对单独测试结果过于片面以及训练数据不足的问题。(就像通过多次考试,才能知道哪些学生是比较比较牛B的)
2.原理
交叉验证是将数据集D划分为k个大小相等的互斥子集,即D=D1∪D2∪…∪Dk,Di∩Dj=∅(i≠j) 。
然后每次取其中的一份作为测试集,另外的k-1份用作训练集,这样就可以获得k组训练/测试集,从而可以进行k次训练和测试,最终返回的是k个测试结果的均值。然后求得error的平均值作为最终的评价,具体算法流程如下:
3.具体步骤
1.<