机器学习进阶文档深度页
网格搜索与随机搜索
在训练部分交叉验证候选超参数;网格枚举组合,随机搜索按分布抽样。
学习前需要掌握
背景与问题
搜索次数越多越容易对验证过程乐观,且预处理必须与模型共同被搜索。
概念定义
参数由 fit 学习,超参数由搜索流程选择。GridSearchCV 穷举有限网格,RandomizedSearchCV 更适合大空间。
直观理解
不是在测试集上反复试钥匙,而是在训练区域内进行多轮模拟考试。
核心原理
先基于参数含义设置对数尺度范围,固定主 scoring 和 refit;锁定最佳方案后只测试一次。
数学表达
核心表达
先基于参数含义设置对数尺度范围,固定主 scoring 和 refit;锁定最佳方案后只测试一次。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1保留测试集
- 2定义 Pipeline
- 3选择 CV 和 scoring
- 4设置合理空间
代码对应位置
示例 1网格搜索与随机搜索 示例:对应文档中的可靠评价或训练流程。
计算与实现步骤
- 1
保留测试集
- 2
定义 Pipeline
- 3
选择 CV 和 scoring
- 4
设置合理空间
- 5
执行搜索
- 6
检查 cv_results_
- 7
最终测试
代码实现
示例 1
网格搜索与随机搜索 示例
网格搜索与随机搜索 示例
scikit-learn
example_01.py用途:对应文档中的可靠评价或训练流程。
search=GridSearchCV(pipeline,{"model__C":[0.1,1,10]},cv=5,scoring="f1_macro",return_train_score=True)
search.fit(X_train,y_train)
print(search.best_params_,search.best_score_)代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应文档中的可靠评价或训练流程。
X_train- 训练特征,只允许它参与预处理器和模型的 fit。
y_train- 与 X_train 对齐的训练目标。
Step 1 · 1–3 行
调用 fit 学习训练数据中的参数;若在 Pipeline 中,预处理器与模型会按顺序拟合。
search=GridSearchCV(pipeline,{"model__C":[0.1,1,10]},cv=5,scoring="f1_macro",return_train_score=True)
search.fit(X_train,y_train)
print(search.best_params_,search.best_score_)预期输出或运行结果
最佳参数与训练部分交叉验证分数。
常见错误 · 4 条
- 测试集搜索
- 无限扩大网格
- 只报告 best_score_
- 确认样本轴、特征轴以及 X 与 y 的第一维完全对应。
实际应用
- 模型调参
- Pipeline 参数选择
常见错误
测试集搜索
无限扩大网格
只报告 best_score_
文档来源
07|模型评估与调参原始文档
学习资料/learning_tech/07_evaluation_tuning.md- §8 超参数搜索
- §9 调参后如何使用测试集
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。