美文网首页
什么是交叉验证?什么是网格交叉验证?

什么是交叉验证?什么是网格交叉验证?

作者: 西瓜皮_2cd4 | 来源:发表于2018-09-27 13:22 被阅读0次

    交叉验证:

    1)简单交叉验证:随机地将已给数据分为两部分,一部分作为训练集,另一部分作为测试集

    sklearn.model_selection.train_test_split(*arrays**options)

    2)S折交叉验证:首先随机的将已给数据切分为S个互不相交的大小相同的子集:然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行,最后选出S次评测中平均测试误差最小的模型.

    class sklearn.model_selection.KFold(n_splits=’warn’shuffle=Falserandom_state=None)

    3)留一交叉验证:S折交叉验证的特殊情形是S=N,称为留一交叉验证,往往在数据缺乏的情况下使用

    网格交叉验证(网格搜索):

    sklearn中对GridSearchCV的解释为:Exhaustive search over specified parameter values for an estimator.也就是说,网格交叉验证是对估计器的指定参数值穷举搜索.过给定不同的参数值的组合,验证选择出一组最优的Parameters.

    小结:

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

    相关文章

      网友评论

          本文标题:什么是交叉验证?什么是网格交叉验证?

          本文链接:https://www.haomeiwen.com/subject/zfceoftx.html