You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取对应最佳score的coef系数而非best_estimator的系数?

解决方法

问题的核心在于best_estimator_是GridSearchCV用全量数据重新拟合得到的模型,若你重写的score方法在交叉验证(CV)阶段和重拟合阶段行为不一致,就会出现最佳分数对应的模型与best_estimator_不匹配的情况。你可以通过以下步骤直接获取对应CV最佳分数的模型系数:

  1. 从cv_results_中定位最佳分数对应的参数组合

    import numpy as np
    
    # 找到平均测试分数最高的索引
    best_idx = np.argmax(GSV.cv_results_['mean_test_score'])
    # 获取对应的参数
    best_params = GSV.cv_results_['params'][best_idx]
    
  2. 用这些参数初始化管道并重新拟合数据

    # 给管道设置最佳参数
    pipe.set_params(**best_params)
    # 拟合全量数据
    pipe.fit(X, y)
    
  3. 提取对应步骤的系数

    pipe.named_steps['step2'].coef_
    

额外检查点

  • 确认GridSearchCV的scoring参数未被手动指定,确保CV阶段使用的是你重写的score方法(默认情况下,GridSearchCV会调用估计器自身的score方法)。
  • 查看GSV.cv_results_['mean_test_score']与GSV.cv_results_['params']的对应关系,确认哪个参数组合的分数确实最高,避免因重写的score方法逻辑问题导致评分异常。

内容的提问来源于stack exchange,提问作者ManInMoon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 02:37:15