gridsearchcv:

sklearn.model_selection.GridSearchCV

(1)参数

GridSearchCV(estimator, param_grid, scoring=None, fit_params=None, n_jobs=1, iid=True, refit=True, cv=None, verbose=0, pre_dispatch='2*n_jobs', error_score='raise', return_train_score=True)

  estimator:所使用的分类器,或者pipeline

  param_grid:值为字典或者列表,即需要最优化的参数的取值

  scoring:准确度评价标准,默认None,这时需要使用score函数;或者如scoring='roc_auc',根据所选模型不同,评价准则不同。字符串(函数名),或是可调用对象,需要其函数签名形如:scorer(estimator, X, y);如果是None,则使用estimator的误差估计函数。scoring 参数可以设置为什么可以参考这篇博文:https://blog.csdn.net/qq_41076797/article/details/102755893

20221125添加:

多scoring设置:

ps:【学习sklearn.metrics.make_scorer详解】

mae=make_scorer(mean_squared_error,greater_is_better=False)

r2=make_scorer(r2_score,greater_is_better=True)

sc={"mae":mae."r2":r2}

model=gridsearchcv(estimator,x,y,scoring=sc)

但是这样需要设置refit=False,会导致best_param等的无法使用,得不偿失,最好还是使用一个score用于gridsearchcv

补充:多scoring的代码

refit参数:在多指标设置中,需要对此进行设置,以便最终模型可以与之匹配,因为模型的最佳超参数将仅基于单个指标来决定。

如果不想要最终模型,并且只想要模型在数据和不同参数上的性能,则可以将其设置为False,也可以将其设置为评分字典中的任何key

  n_jobs:并行数,int:个数,-1:跟CPU核数一致, 1:默认值。

  pre_dispatch:指定总共分发的并行任务数。当n_jobs大于1时,数据将在每个运行点进行复制,这可能导致OOM,而设置pre_dispatch参数,则可以预先划分总共的job数量,使数据最多被复制pre_dispatch次

  iid:默认True,为True时,默认为各个样本fold概率分布一致,误差估计为所有样本之和,而非各个fold的平均。

  cv:交叉验证参数,默认None,使用三折交叉验证。指定fold数量,默认为3,也可以是yield训练/测试数据的生成器。

  refit:默认为True,程序将会以交叉验证训练集得到的最佳参数,重新对所有可用的训练集与开发集进行,作为最终用于性能评估的最佳模型参数。即在搜索参数结束后,用最佳参数结果再次fit一遍全部数据集。

  verbose:日志冗长度,int:冗长度,0:不输出训练过程,1:偶尔输出,>1:对每个子模型都输出。
(2)输出
  best_estimator_:效果最好的分类器

  best_score_:成员提供优化过程期间观察到的最好的评分

  best_params_:描述了已取得最佳结果的参数的组合

cv_results_ : dict of numpy (masked) ndarrays:

具有键作为列标题和值作为列的dict,可以导入到DataFrame中。注意,“params”键用于存储所有参数候选项的参数设置列表。

  best_index_:具体用法模型不同参数下交叉验证的结果。对应于最佳候选参数设置的索引(cv_results_数组的索引)。

best_index_ : int 对应于最佳候选参数设置的索引(cv_results_数组)

  search.cv_results _ ['params'] [search.best_index_]中的dict给出了最佳模型的参数设置,给出了最高的平均分数(search.best_score_)

(3)示例:

from sklearn.model_selection import GridSearchCV

param_grid = [

{'n_estimators': [31030], 'max_features': [2468]},

{'bootstrap': [False], 'n_estimators': [310], 'max_features': [234]},

]

forest_reg = RandomForestRegressor()

grid_search = GridSearchCV(forest_reg,param_grid,cv=5,scoring='neg_mean_squared_error')

grid_search.fit(housing_prepared, housing_labels)<br>print(grid_search.best_params_)

(4)cv_results_ 参数有:

【学习参考】:machine-learning - rank_test_score 在model.cv_results_ 中代表什么? - IT工具网 (coder.work)

rank_test_score表示基于mean_test_score的网格搜索参数组合的排名.

如果您在网格搜索中尝试 N 个参数组合,rank_test_score从 1 到 N。

导致最低 mean_test_score 的参数组合会有 rank_test_score N 和最高的参数组合 mean_test_score会有 rank_test_score 1.

如果您使用 multiple metrics for evaluation (比如,'neg_mean_squared_error' 和 'neg_mean_absolute_error')你会有更多的列(这里是 rank_test_neg_mean_squared_error 和 rank_test_neg_mean_absolute_error ),每一个都表示基于各自度量的估计器的等级。

cv_results_可以转为dataframe模式:

result=pd.dataframe(model.cv_results_).set_index(['   '])

学习gridsearchcv 参数以及输出+多scoring相关推荐

  1. 自定义函数使用GridSearchCV参数寻优

    自定义函数使用GridSearchCV参数寻优 GirdSearchCV and RandomizedSearchCV 自定义函数中使用GirdSearchCV GridSearchCV参数说明 Gr ...

  2. gridsearchcv参数_随机森林算法参数解释及调优

    本文将详细解释随机森林类的参数含义,并基于该类讲解参数择优的过程. 随机森林类库包含了RandomForestClassifer类,回归类是RandomForestRegressor类.RF的变种Ex ...

  3. tensorflow 1.0 学习:参数和特征的提取

    tensorflow 1.0 学习:参数和特征的提取 在tf中,参与训练的参数可用 tf.trainable_variables()提取出来,如: #取出所有参与训练的参数 params=tf.tra ...

  4. 迁移学习 迁移参数_迁移学习简介

    迁移学习 迁移参数 介绍 (Introduction) We as humans have the ability to transfer the knowledge gained in one ta ...

  5. 【深度学习】参数量、模型大小、显存

    对于一个深度学习神经网络来说,其通常包含很多卷积层,用于不断提取目标的特征,或对目标进行最终定位或者分类. 1 数据存储精度与存储空间 在深度学习神经网络中,最常见的数据格式是float32,占4个字 ...

  6. GRBL学习-GRBL参数配置

    GRBL参数配置 最近在学习GRBL,记录一下学习的过程 GRBL1.1h GRBL1.1h GRBL1.1h配置参数 $ 输入$并按回车键让Grbl打印出帮助信息. 输出: [HLP:$$ $# $ ...

  7. DEEP COMPRESSION(深度学习网络参数压缩)

    DEEP COMPRESSION: DEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUANTIZAT ...

  8. 直观的获得MATLAB训练得到的深度学习网络参数与结构

    在MATLAB当中可以通过在"命令行窗口"输出help trainNetwork获得简单的深度学习网络的搭建的代码. 为了获得经过训练得到的深度学习模型的结构与学习参数个数,而不用 ...

  9. Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径、相对路径

    Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径.相对路径 目录 两行代码输出根目录下所有子文件夹的绝对路径.相对路径 两行代码输出根目录下所有子文件夹的绝对路径.相对路径 #Py ...

最新文章

  1. VS2008常用快捷键
  2. 【Linux】一步一步学Linux——ac命令(102)
  3. 淘淘商城项目分析报告
  4. c调python_py_initialize:C调Python出错 是初始化错误?
  5. JPA 2 | EntityManagers,事务及其周围的一切
  6. spark中local模式与cluster模式使用场景_不可不知的Spark调优点
  7. Linux系统:centos7下安装Jdk8、Tomcat8、MySQL5.7环境
  8. 因为一个字符校对问题,我的大厂面试挂了
  9. python 搜索功能,使用Python使用网站的搜索功能
  10. 怎么使用Eclipse默认的keystore签名打包成Apk
  11. Centos下 ftp服务的相关配置
  12. 平衡树插入调整的记忆策略
  13. SQL中自增(AUTO_INCREMENT)字段介绍
  14. 精明管理者选人的N种方式
  15. 手动抛出异常_TestNG和SpringBoot2.1.6整合后,导致TestNG的断言异常无法抛出,是为什么?...
  16. Oracle设置主键自增
  17. 2012最新网上购物排行榜
  18. 手机CAD如何快速看图下载?
  19. Django Book 中对于MVC的阐释
  20. 计算机系统操作权限,已过GSP认证文件计算机系统操作权限确认表.docx

热门文章

  1. 哈工大深圳计算机就业质量报告,多所高校公布毕业生平均年薪,南京大学和哈工大(深圳)数据亮眼...
  2. Geoffrey Hinton:放弃反向传播,我们的人工智能需要重头再来
  3. Ant Design Vue 如何获form表单里数据 并给 v-decorator绑定的数据重新赋值
  4. 极客时间 IT 20+ 张 各架构 高清技能图谱
  5. 通信总线协议五 :CAN
  6. jQuery中toggle与slideToggle以及fadeToggle之间的不同
  7. atl常量暴露的最简便方法
  8. 自定义mui的索引列表indexedList(可用作通讯录)详细用法
  9. 清楚浮动四种常用方法
  10. 局域网即时通讯软件可以保护数据安全吗?