交叉验证及其⽬的
⾸先,为什么要交叉验证:⽬的有两个:1.选择合适的模型2.选择合适的参数
1.对于⼀个问题,可以⽤模型m1,m2,不知道哪个的准确率⾼,可以交叉验证⼀下,从⽽选择⽤哪个2.对于⼀个模型,参数的选择会影响结果,所以⽤交叉验证选择最合适的参数然后,常⽤的交叉验证的⽅式是k折交叉验证(k-fold cross validation)把数据集分为训练集和测试集:
先把所有数据分成k组,其中k-1组作为训练集,剩下的⼀组作为测试集,这样有k种选法
把k种选法得到的训练集和测试集进⾏模型训练和测试,得到的结果平均,就是交叉验证的结果。
还有⼀种⽅法,就是留n法,每次把n个数据作为测试集,留1法就是k折的⼀个特例。