转自https://blog.youkuaiyun.com/qq_32241189/article/details/80182114
一.交叉验证
交叉验证就是将原始数据集(dataset)划分为两个部分.一部分为训练集用来训练模型,另外一部分作为测试集测试模型效果.
作用:
1) 交叉验证是用来评估模型在新的数据集上的预测效果,也可以一定程度上减小模型的过拟合
2) 还可以从有限的数据中获取尽可能多的有效信息。
交叉验证主要有以下几种方法:
① 留出法.简单地将原始数据集划分为训练集,验证集,测试集三个部分.
② k折交叉验证.(一般取5折交叉验证或者10折交叉验证)
③ 留一法.(只留一个样本作为数据的测试集,其余作为训练集)---只适用于较少的数据集
④ Bootstrap方法.(会引入样本偏差)
二.网格交叉验证(网格搜索)
sklearn中对GridSearchCV的解释为:Exhaustive search over specified parameter values for an estimator.
也就是说,网格交叉验证是对估计器的指定参数值穷举搜索.
通过给定不同的参数值的组合,验证选择出一组最优的Parameters.
三.总结
网格交叉验证用于找到一组最优的参数组合,使得在这组参数下模型效果最好;而交叉验证主要用于模型的效果验证,它是对于数据集的测试集和验证集的选择,也能够有效的防止模型过拟合.所以说,这两者是不同的概念.