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

运行GridSearchCV函数报错:TypeError: 意外关键字参数'njobs'

问题解决:GridSearchCV的TypeError错误

错误原因分析

你遇到的两个关键问题:

  1. 参数名拼写错误:GridSearchCV中控制并行任务的参数是n_jobs(带有下划线),而不是njobs,这是导致unexpected keyword argument错误的直接原因。
  2. 初始化参数顺序错误:GridSearchCV的第一个必填参数是要进行调参的模型实例(比如RandomForestClassifier),而你直接传入了param_grid,这会导致后续fit时出现逻辑错误。

修正后的代码

from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV
import time

# 1. 先创建RandomForest分类器实例
rfc = RandomForestClassifier()

# 2. 定义参数网格
param_grid = [
    {
        'n_estimators': [100, 200, 500],
        'max_depth': [5, None]
    },
]

start = time.time()
# 3. 正确初始化GridSearchCV:第一个参数是模型,param_grid用关键字传入
rfc_grid_search = GridSearchCV(
    estimator=rfc,
    param_grid=param_grid,
    cv=10,
    scoring='f1_macro',
    return_train_score=True,
    n_jobs=-1  # 修正参数名
)

rfc_grid_search.fit(X_train, Y_train)

end = (time.time() - start)/3600
print(f"Took {end} hours")

额外说明

  • 如果你之前是用Pipeline(管道)封装模型,参数名才需要加rfc__前缀(比如管道里给模型命名为rfc),如果直接使用单个模型,参数名不需要前缀,直接用n_estimators、max_depth即可。
  • n_jobs=-1表示使用所有可用的CPU核心加速交叉验证,适合大数据集调参。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 01:25:22