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

如何在Pipeline执行后获取clf.best_params_?解决属性错误问题

解决GridSearchCV无法获取best_params_的问题

你遇到的AttributeError原因很直接:你创建了GridSearchCV对象clf,但没有让它执行网格搜索流程,反而调用了原始pipe的fit方法。此时clf还是未训练的状态,自然不存在best_params_属性。

修正步骤

把代码里的:

pipe.fit(X_train,y_train)
print(f'Best Parameters: {clf.best_params_}')

替换成:

clf.fit(X_train,y_train)
print(f'Best Parameters: {clf.best_params_}')

额外说明

  • 执行clf.fit()后,除了best_params_,还可以获取其他有用属性:
    • clf.best_score_:交叉验证得到的最优分数
    • clf.best_estimator_:训练好的最优Pipeline模型,可以直接用它做预测,比如y_pred = clf.best_estimator_.predict(X_test)
  • 另外你的代码开头漏了导入matplotlib,需要加上import matplotlib.pyplot as plt,否则plt.subplots会报错。

完整修正后的关键代码片段

# ... 前面的数据生成、Pipeline和参数网格定义部分不变 ...

clf = GridSearchCV(pipe, parameter_space, cv = 5, scoring = "accuracy", verbose = True)

# 调用GridSearchCV的fit方法,而不是原始pipe的fit
clf.fit(X_train,y_train)
print(f'Best Parameters: {clf.best_params_}')
# 可选:查看最优模型的预测准确率
y_pred = clf.predict(X_test)
print(f'Test Accuracy: {accuracy_score(y_test, y_pred)}')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 05:27:25