【机器学习】交叉验证(Cross Validation)与网格交叉验证(GridSearchCV)的区别

原文链接: https://blog.csdn.net/qq_32241189/article/details/80182114

一.交叉验证

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

作用:

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

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

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

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

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

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

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

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

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

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

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

三.总结

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

发布了76 篇原创文章 · 获赞 20 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Krone_/article/details/103816480