如何从Sklearn网格搜索返回的best_params_中提取各参数值
Sklearn网格搜索最佳参数提取问题
问题背景
使用Sklearn的HalvingGridSearchCV完成网格搜索后,grid.best_params_返回结果为字典:{'C': 44.984326689694534, 'gamma': 0.2811768697974237},但尝试用grid.best_params_[0][0]提取数值时触发错误,需解决参数值的正确提取方式。
涉及代码:
param_grid= {'gamma': np.logspace(-9, 9, num=50, base=10),'C': np.logspace(-9, 9, num=50, base=10)} base_estimator = SVC(kernel='rbf', random_state=42) grid = HalvingGridSearchCV(base_estimator, param_grid, cv=10, factor=3, min_resources=20).fit(X_train_bal, Y_train_bal) print(grid.best_params_)
解决方法
grid.best_params_是Python字典类型,不能通过列表下标(如[0][0])访问,需通过键名提取对应值:
- 提取
C参数值:
best_c = grid.best_params_['C']
- 提取
gamma参数值:
best_gamma = grid.best_params_['gamma']
若需确认字典包含的键,可执行以下代码查看:
print(grid.best_params_.keys())
内容的提问来源于stack exchange,提问作者Khan
相关产品推荐
相关产品推荐

