判别模型二分类调优需先依业务选核心指标(如风控重召回率、F1,推荐重精确率或AUC),再用分层K折交叉验证配合对应评分函数;分两步网格搜索缩小参数空间,聚焦各模型关键杠杆参数(如逻辑回归调C、SVM调C和gamma、树模型控深度与过拟合),并以独立测试集、学习曲线和特征重要性验证泛化性。

判别模型(如逻辑回归、SVM、随机森林、XGBoost等)在二分类任务中表现稳定,但效果高度依赖参数选择。调优不是盲目试错,而是结合数据特性、模型机制和评估目标的系统过程。
明确评估指标再调参
准确率(Accuracy)在类别不平衡时容易误导。优先根据业务场景选核心指标:比如风控关注召回率(Recall)和F1,推荐场景可能更看重Precision或AUC-ROC。用stratified k-fold交叉验证配合对应评分函数(如scoring='f1'或'roc_auc'),避免单次划分偏差。
分阶段缩小搜索空间
网格搜索(GridSearchCV)全量遍历成本高,建议分两步:
- 先用粗粒度范围(如学习率从[0.01, 0.1, 1]、树深度从[3, 6, 10])快速定位有效区间
- 再在该区间内用细粒度(如学习率[0.05, 0.08, 0.1]、正则系数C在log尺度下采样)精调
- 对超参敏感度高的模型(如XGBoost),可搭配BayesSearchCV或Optuna自动探索更高效
关注模型特性的关键参数
不同模型有“杠杆型”参数,调好一个常比调十个更有效:
立即学习“Python免费学习笔记(深入)”;
-
逻辑回归:重点调
C(正则强度),C越小正则越强,防止过拟合;类别不平衡时加class_weight='balanced' -
SVM:先固定
kernel='rbf',主调C和gamma;用scale_pos_weight(XGBoost)或sample_weight处理不均衡 -
树模型:控制过拟合比提升拟合更重要——限制
max_depth、增加min_samples_split、启用subsample(GBM类)
验证泛化性不能只看CV分数
交叉验证得分高≠线上表现好。务必做三件事:
- 保留一个完全独立的测试集(不参与任何调参),最终只评估一次
- 画出学习曲线(train vs. val score随样本量/复杂度变化),判断是否欠拟合或过拟合
- 检查特征重要性或SHAP值是否合理——若关键业务特征权重极低,可能是数据泄露或特征工程问题
基本上就这些。参数调优不是追求CV分数的极限,而是找到在真实分布上稳健、可解释、易维护的平衡点。










