交叉验证:cross validation

  1. cross validation的目的:进行调参
    注意: cross validation的目的不是训练神经网络
  2. 如何做(以最简单的为例)
    |1. 划分trainning set,test set, test set 不要动(仅用于最后评估参数)
    |2. 设置grid:选择多组参数,接下来对每组参数重复以下步骤
    |>>>>2.1. 把trainning set分成5份, 重复5次以下步骤
    |>>>>>>>2.1.1. 拿出一份作为validation set,其他4份做trainning set
    |>>>>>>>2.1.3. 在trainning set上进行训练
    |>>>>>>>2.1.3. 保存validation set的表现结果
    |>>>>>>>2.1.4. 训练结束后清除神经网络的权重
    |>>>>2.2. 以保存的5次validation set的表现的平均值作为验证集的表现
    |3. 选取表现最好的一组参数
    |4. 用这5份数据和表现最好的参数训练神经网络
  3. cross validation的优点
    对小的数据集来说,可以重复利用数据(不会浪费validation set)
  4. 变体
    nest loop: 对第一次划分也进行cross validation
    优点:数据很小的时候,划分的test set太小不够有代表性
    在这里插入图片描述
    5: 代码
#out cv
for train, test in kf.split(data_x, data_y):
    #inner cv
    model=LogisticRegression(max_iter=300)
    clf=GridSearchCV(model,param_grid=params_dict,scoring='f1',cv=5)
    clf.fit(data_x[train], data_y[train])

6: 参考
Link
Link

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值