交叉验证(Cross Validation)与网格交叉验证(GridSearchCV)的区别

一.交叉验证

    交叉验证就是将原始数据集(dataset)划分为两个部分.一部分为训练集用来训练模型,另外一部分作为测试集测试模型效果.

    作用:

    1) 交叉验证是用来评估模型在新的数据集上的预测效果,也可以一定程度上减小模型的过拟合

    2) 还可以从有限的数据中获取尽可能多的有效信息。

    交叉验证主要有以下几种方法:

    ① 留出法.简单地将原始数据集划分为训练集,验证集,测试集三个部分.

    ② k折交叉验证.(一般取5折交叉验证或者10折交叉验证)

    ③ 留一法.(只留一个样本作为数据的测试集,其余作为训练集)---只适用于较少的数据集

    ④ Bootstrap方法.(会引入样本偏差)

二.网格交叉验证(网格搜索)

    sklearn中对GridSearchCV的解释为:Exhaustive search over specified parameter values for an estimator.

    也就是说,网格交叉验证是对估计器的指定参数值穷举搜索.

    通过给定不同的参数值的组合,验证选择出一组最优的Parameters.

三.总结

    网格交叉验证用于找到一组最优的参数组合,使得在这组参数下模型效果最好;而交叉验证主要用于模型的效果验证,它是对于数据集的测试集和验证集的选择,也能够有效的防止模型过拟合.所以说,这两者是不同的概念.

    

猜你喜欢

转载自blog.csdn.net/qq_32241189/article/details/80182114