✅ 今日目标

  • 理解模型调参的重要性(避免欠拟合/过拟合)
  • 掌握 GridSearchCV 的使用方法
  • 学习 K 折交叉验证的基本流程与意义
  • 对比不同参数组合的表现
  • 使用 Pipeline 简化流程(进阶)

📘 一、调参思路

方法描述
Grid Search穷举所有参数组合,适合小规模
Random Search随机采样参数组合,适合大空间
Bayesian Optimization高级调参方式,非必须了解

🧰 二、GridSearchCV 使用步骤

from sklearn.model_selection import GridSearchCVparams = {'C': [0.1, 1, 10],'kernel': ['linear', 'rbf'],'gamma': ['scale', 'auto']
}grid = GridSearchCV(SVC(), param_grid=params, cv=5)
grid.fit(X_train, y_train)
print("最佳参数组合:", grid.best_params_)
print("交叉验证得分:", grid.best_score_)

📊 三、交叉验证原理

类型描述
KFold将数据划分为 K 份轮流验证
StratifiedKFold分类任务中保持标签比例一致
Leave-One-Out留一法,训练集几乎包含全部样本

🔍 避免单一划分可能带来的偶然性,提升泛化性能评估的可靠性。


🔁 四、结合管道 Pipeline(可选)

from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScalerpipe = Pipeline([('scaler', StandardScaler()),('clf', SVC())
])params = {'clf__C': [1, 10],'clf__kernel': ['rbf'],'clf__gamma': ['scale', 'auto']
}grid = GridSearchCV(pipe, param_grid=params, cv=5)
grid.fit(X_train, y_train)

💡 小技巧

技巧建议
优先调影响最大的参数C, n_estimators, max_depth
控制计算量限制搜索空间、减少 CV 次数
保存模型joblibpickle 序列化结果

🧾 今日总结

  • ✅ 掌握 GridSearchCV 调参与模型选择方法
  • ✅ 了解交叉验证原理与 KFold/StratifiedKFold
  • ✅ 提高模型的鲁棒性和泛化能力
  • ✅ 准备在后续模型部署中使用“最佳参数”模型

📁 练习脚本:gridsearch_svm_pipeline.py

# 使用 GridSearchCV + Pipeline 优化 SVM 模型import numpy as np
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.svm import SVC
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score, classification_report# 构造数据
np.random.seed(42)
size = 100
scores = np.random.randint(40, 100, size)
genders = np.random.choice([0, 1], size=size)
labels = (scores >= 60).astype(int)X = np.column_stack(((scores - scores.mean()) / scores.std(), genders))
y = labelsX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 构建 Pipeline
pipe = Pipeline([('scaler', StandardScaler()),('clf', SVC())
])# 定义参数搜索空间
param_grid = {'clf__C': [0.1, 1, 10],'clf__kernel': ['linear', 'rbf'],'clf__gamma': ['scale', 'auto']
}# 网格搜索 + 5折交叉验证
grid = GridSearchCV(pipe, param_grid=param_grid, cv=5, verbose=1, n_jobs=-1)
grid.fit(X_train, y_train)print("最佳参数组合:", grid.best_params_)
print("最佳交叉验证得分:", grid.best_score_)# 测试集评估
y_pred = grid.predict(X_test)
print("\\n=== 最佳模型在测试集上的表现 ===")
print("准确率:", accuracy_score(y_test, y_pred))
print(classification_report(y_test, y_pred))

运行输出:

Fitting 5 folds for each of 12 candidates, totalling 60 fits
最佳参数组合: {'clf__C': 0.1, 'clf__gamma': 'scale', 'clf__kernel': 'linear'}
最佳交叉验证得分: 0.9875=== 最佳模型在测试集上的表现 ===
准确率: 0.95precision    recall  f1-score   support0       0.88      1.00      0.93         71       1.00      0.92      0.96        13accuracy                           0.95        20macro avg       0.94      0.96      0.95        20
weighted avg       0.96      0.95      0.95        20

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/913608.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/913608.shtml
英文地址,请注明出处:http://en.pswp.cn/news/913608.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python打卡:Day47

复习日 浙大疏锦行

ACE-Step:AI音乐生成基础模型

ACE-Step是什么 ACE-Step 是 ACE Studio 和 StepFun 联合推出的一款开源音乐生成基础模型,专为高效、连贯、可控的音乐创作而设计。它融合了扩散模型、深度压缩自编码器(DCAE)和轻量级线性变换器,生成速度比传统大模型快约 15 倍…

Web前端: :is(通用选择器)

:is(通用选择器)CSS中的 :is() 选择器是⼀个功能强⼤的伪类选择器,它⽤于简化复杂的选择器,特别是在处理多个相似的选择器时。:is() 选择器接受 ⼀个选择器列表作为参数,然后匹配列表中任何⼀个选择器所选中的元素。:is() 选择器核心概念基本…

【学习笔记】网络设备(华为交换机)基础知识 24 —— 以太网子接口基础知识

**总结:分享华为交换机以太网子接口基础知识:包含子接口的简介、功能、分类以及二层以太网子接口配置终结子接口、三层以太网子接口配置终结子接口和检查配置结果的相关命令 ** 一、子接口的概念 1、子接口的简介以太网子接口:‌是通过协议和…

在Docker中安装nexus3(作为maven私服)

1. 为什么我不推荐安装nexus2? 有两个原因:(1)nexus2安装麻烦,nexus3安装更方便 (2)Nexus 3相对于Nexus 2进行了一些重要的改进和增强。它引入了新的存储引擎、更多的仓库类型支持、改进的权限…

一、MySQL 8.0 之《EXPLAIN ANALYZE 执行计划》

文章目录一、MySQL EXPLAIN ANALYZE 执行计划指南主要功能实际执行性能分析详细的执行统计性能瓶颈识别与普通 EXPLAIN 的区别使用场景查询优化问题诊断总结二、EXPLAIN ANALYZE 执行计划样例分析执行顺序解读逐行详细解释第 7 行 (最内层)第 6 行第 5 行第 4 行第 3 行第 2 行…

Google I/O Extended :2025 Flutter 的现状与未来

大家好,我是 Flutter GDE 郭树煜,Github GSY 项目的维护人,今天主要分享的内容是「Flutter 的现状与未来」,可能今天更多会是信息科普类型的内容,主要是分享关于 Flutter 的现状与未来 现状 其实 Flutter 从开源到现在…

软考(软件设计师)数据库原理:事务管理,备份恢复,并发控制

数据库事务管理与备份恢复 事务(Transaction) 是数据库管理系统中执行的一个不可分割的工作单元,它包含一组 SQL 操作,这些操作要么全部成功执行,要么全部不执行。 事务的四大特性(ACID)&…

【牛客刷题】相遇

文章目录 一、题目介绍1.1 题目描述1.2 输入描述1.3 输出描述1.4 示例二、解题思路2.1 核心算法设计2.2 性能优化关键2.3 算法流程图三、解法实现3.1 解法一:基础实现3.1.1 初级版本分析3.2 解法二:优化版本(推荐)3.2.1 优化版本分析一、题目介绍 1.1 题目描述 街道可以看…

uni-app 下拉搜索多选 支持自己创建数据

组件 /components/selectmul.vue <template><view class="multi-select-container"><view class="input-dropdown-container"><view class="" v-if="selectlist&&selectlist[0]"><text class=&qu…

nmon使用方法

安装方法 方法1&#xff1a; 最简单方法&#xff1a; #dnf install nom 验证 执行命令&#xff1a; #nmon 方法2&#xff1a; 下载安装包安装&#xff0c;下载地址 官网&#xff1a;nmon and njmon | Site / Download 或者&#xff1a;https://sourceforge.net/project…

Google AI 刚刚开源 MCP 数据库工具箱,让 AI 代理安全高效地查询数据库

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

数学建模的一般步骤

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 青春由磨砺而出彩&#xff0c;人生因奋…

【web安全】SQLMap 参数深度解析:--risk 与 --level 详解

目录 简介 一、--risk 参数&#xff1a;测试风险控制 1. 基本定义 2. 各级别详细对比 risk1 (默认) risk2 risk3 3. 使用建议 二、--level 参数&#xff1a;测试深度控制 1. 基本定义 2. 各级别详细对比 level1 (默认) level2 level3 level4 level5 3. 技术实…

YOLO在自动驾驶交通标志识别中的应用与优化【附代码】

文章目录YOLO在自动驾驶交通标志识别中的应用与优化引言1. YOLO算法概述1.1 YOLO的核心思想1.2 YOLO的演进2. 交通标志识别的挑战2.1 数据集特性2.2 性能指标要求3. YOLO模型优化策略3.1 数据增强改进3.2 注意力机制集成3.3 针对小目标的改进4. 完整实现示例4.1 模型训练代码4.…

开源鸿蒙(OpenHarmony)桌面版全面解析:架构适配、设备支持与开发实战

摘要:深度剖析OpenHarmony 4.0+桌面版的技术演进,揭秘其在X86/国产芯片设备的落地实践,附源码获取与开发板实战指南 一、OpenHarmony桌面版架构突破 1.1 跨平台内核适配 开源鸿蒙通过 多内核混合架构 实现全场景覆盖: X86架构:集成Linux内核适配层(kernel/linux),支持…

【WEB】Polar靶场 11-15题 详细笔记

目录 十一.爆破 PHP的基本语法 变量与常量 数据类型 流程控制 函数 文件操作 数据库交互 1.substr() 函数 2. intval() 函数 十二.XFF X-Forwarded-For&#xff08;简称XFF&#xff09; 十三.rce1 shell 命令分隔符 isset()函数 preg_match_all()函数 ${IFS}…

导诊系统的科室和症状词库如何扩展?

要扩展导诊系统的科室和症状词库&#xff0c;可以通过以下几种方式实现&#xff1a;1. 直接扩展科室定义&#xff08;推荐&#xff09;在初始化代码中直接添加新的科室及对应症状&#xff1a;# 扩展后的科室定义 depts [Department("内科", ["发热", &quo…

通过Prompt生成互动式网页HTML案例探索(二)

之前提到了一些【通过Claude 生成图片的prompt集锦&#xff08;一&#xff09;】&#xff0c;本篇沿着试着用prompt生成互动式网页 文章目录 1 什么是互动式网页&#xff1f;1.1 一个&#x1f330;1.1 核心能力列举1.3 部署方式 2 猜测秘塔AI搜索生成HTML的Prompt3 mozi大佬&am…

暑假读书笔记第四天

今日文章&#xff1a; 小林coding&#xff1a;什么是软中断&#xff1f; 目录软中断软中断概述软中断类型如何定位软中断 CPU 使用率过高的问题&#xff1f;其他: 往期打卡 软中断 中断是系统用来响应硬件设备请求的一种机制&#xff0c;操作系统收到硬件的中断请求&#xf…