使用sklearn函数对模型进行交叉验证

这篇具有很好参考价值的文章主要介绍了使用sklearn函数对模型进行交叉验证。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

交叉验证用来做什么

交叉验证(Cross-Validatio),是用于在驯良过程中对训练模型的性能和参数进行评估选择的技术。

它的意义在于能够充分利用优先的数据集,减少数据分布不均匀以及随机性带来的模型评估误差。

交叉验证的作用就是将数据集分割成多个自己进行多次训练,每次训练的训练集与测试机不完全相同。

使用sklearn函数对模型进行交叉验证,Python 图像处理,sklearn,机器学习,深度学习

sklearn 中的函数

from sklearn.model_selection import train_test_split, StratifiedKFold, KFold
skf = KFold(n_splits=10, random_state=233, shuffle=True)

n_splits:int, default=5
表示,要分割为多少个K子集
shuffle:bool, default=False
是否打乱数据
random_state:int or RandomState instance, default=None
随机状态,需要配合shuffle参数使用

参考文章 https://blog.csdn.net/weixin_43803950/article/details/120894868文章来源地址https://www.toymoban.com/news/detail-657947.html

# 如果有额外的标签,train_path 标签数据,如果标签是跟随train_path,第二个可不填入
skf.split(train_path, train_path)
   for fold_idx, (train_idx, val_idx) in enumerate(skf.split(train_path, train_path)):
        train_loader = torch.utils.data.DataLoader(
            XunFeiDataset(np.array(train_path)[train_idx],
                          A.Compose([
                              A.RandomRotate90(),
                              A.RandomCrop(120, 120),
                              A.HorizontalFlip(p=0.5),
                              A.RandomContrast(p=0.5),
                              A.RandomBrightnessContrast(p=0.5),
                          ])
                          ), batch_size=8, shuffle=True, num_workers=0, pin_memory=False
        )

        val_loader = torch.utils.data.DataLoader(
            XunFeiDataset(np.array(train_path)[val_idx],
                          A.Compose([
                              A.RandomCrop(120, 120),
                          ])
                          ), batch_size=8, shuffle=False, num_workers=0, pin_memory=False
        )

        for epoch_item in range(30):

            # adjust_learning_rate(optimizer, epoch_item)

            train_loss = train(train_loader, model, criterion, optimizer)

            val_acc = validate(val_loader, model, criterion)

            train_acc = validate(train_loader, model, criterion)

            print(train_loss, train_acc, val_acc)

到了这里,关于使用sklearn函数对模型进行交叉验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一文学会sklearn中的交叉验证方法,cross_validate和KFlod实战案例

    在机器学习中,我们经常需要评估模型的性能。而为了准确评估模型的性能,我们需要使用一种有效的评估方法。五折交叉验证(5-fold cross-validation)就是其中一种常用的模型评估方法,用于评估机器学习模型的性能和泛化能力。 在本文中,我们将介绍五折交叉验证的原理和

    2024年02月13日
    浏览(33)
  • R语言使用surveyCV包对NHANES数据(复杂调查加权数据)进行10折交叉验证

    美国国家健康与营养调查( NHANES, National Health and Nutrition Examination Survey)是一项基于人群的横断面调查,旨在收集有关美国家庭人口健康和营养的信息。 地址为:https://wwwn.cdc.gov/nchs/nhanes/Default.aspx 既往咱们通过多篇文章对复杂加权数据的线性模型、逻辑回归模型、生存分析

    2024年02月06日
    浏览(31)
  • 【PyTorch】在PyTorch中使用线性层和交叉熵损失函数进行数据分类

    在机器学习的众多任务中,分类问题无疑是最基础也是最重要的一环。本文将介绍如何在PyTorch框架下,使用线性层和交叉熵损失函数来解决分类问题。我们将以简单的Iris数据集作为起点,探讨线性模型在处理线性可分数据上的有效性。随后,我们将尝试将同样的线性模型应

    2024年01月18日
    浏览(40)
  • 【图像处理】使用 Python 进行图像增强

            图像增强技术的深度和复杂性往往在一系列捕获和共享中被忽视。从傅里叶变换到白平衡和直方图处理,各种方法都可以将普通照片转换为引人注目的图像。这篇博文旨在解开这些技术。         我在节日期间拍了一张照片,在夜间庆祝活动中。遗憾的是,图

    2024年02月16日
    浏览(42)
  • Python 使用多种方法对图像进行锐化处理——图像处理

    fun_01() fun_02() fun_03()      

    2024年02月13日
    浏览(49)
  • 【图像处理】使用Python进行实时人脸检测和识别

            你有没有想过用Python构建一个面部识别系统?不要再看了!在本教程中,我们将使用 face_recognition 库来检测和识别视频流、图像甚至使用网络摄像头实时检测和识别人脸。         人脸识别和人脸检测是计算机视觉领域的两个独立任务。         人脸检测

    2024年02月13日
    浏览(31)
  • 使用Python和OpenCV进行图像处理和分析

    简介: 图像处理和分析是计算机视觉领域的重要组成部分。本文将介绍如何使用Python编程语言和OpenCV库进行图像处理和分析。我们将涵盖图像读取、显示、滤波、边缘检测和图像分割等常见的图像处理操作,并提供相应的代码示例。 安装OpenCV: 首先,我们需要安装OpenCV库。

    2024年02月12日
    浏览(36)
  • 机器学习中的数学原理——模型评估与交叉验证

    惭愧惭愧!机器学习中的数学原理这个专栏已经很久没有更新了!前段时间一直在学习深度学习,paddlepaddle,刷题专栏跟新了,这个专栏就被打入冷宫了。这个专栏名为 白话机器学习中数学学习笔记 ,主要是用来分享一下我在 机器学习中的学习笔记及一些感悟,也希望对你

    2024年01月15日
    浏览(102)
  • “探索图像处理的奥秘:使用Python和OpenCV进行图像和视频处理“

     1、上传图片移除背景后下载。在线抠图软件_图片去除背景 | remove.bg – remove.bg 2、对下载的图片放大2倍。ClipDrop - Image upscaler  3、对放大后的下载照片进行编辑。  4、使用deepfacelive进行换脸。 1)将第三步的照片复制到指定文件夹。C:myAppdeepfakelivetempDeepFaceLive_NVIDIAuserda

    2024年02月16日
    浏览(60)
  • Python图像处理:使用OpenCV对图像进行HSV和RGB表示法的转换

    Python图像处理:使用OpenCV对图像进行HSV和RGB表示法的转换 在图像处理中,我们经常需要使用不同的颜色表示法来处理图像。在OpenCV中,我们可以使用HSV(色相、饱和度、亮度)表示法来替代标准的RGB(红、绿、蓝)表示法来处理图像。HSV表示法更为直观和易于使用,因为它将

    2024年02月06日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包