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

RandomizedSearchCV的best_params输出不符合预期的技术求助

解决RandomizedSearchCV输出日志过多且未看到最佳参数字典的问题

你的代码逻辑其实是正确的,之所以看到大量交叉验证(CV)过程的日志,却没看到预期的最佳参数字典,主要是两个原因:

1. verbose=2导致详细日志输出

你在初始化RandomizedSearchCV时设置了verbose=2,这个参数会控制训练过程的日志详细程度:

  • verbose=2:会打印每一个候选参数组合的每一次CV折叠的训练耗时和参数信息,这就是你看到数百行输出的原因。
  • 如果想简化日志,可以调整这个参数:
    • verbose=1:只打印每个候选参数的训练进度(比如进度条)
    • verbose=0:完全不输出训练过程日志

修改后的初始化代码可以是:

rf_random = RandomizedSearchCV(estimator=rf, param_distributions=random_grid, n_iter=100, cv=3, verbose=1, random_state=42, n_jobs=-1)

2. 最佳参数字典会在训练完成后输出

你看到的日志只是训练过程的实时输出,print(rf_random.best_params_)语句要等到所有300次CV训练(100个候选参数 × 3折CV)全部完成后才会执行。如果你的训练还在进行中,只需要等待程序跑完,就能看到类似示例的参数字典输出了。

另外补充一点:最终得到的最佳参数具体值会和示例不同,这是正常的——参数调优结果依赖你的数据集、random_grid定义的参数搜索范围,以及随机种子的设置,只要输出格式是类似{'bootstrap': True, ...}的字典就没问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 14:23:11