学习gridsearchcv 参数以及输出+多scoring
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'
: [
3
,
10
,
30
],
'max_features'
: [
2
,
4
,
6
,
8
]},
{
'bootstrap'
: [
False
],
'n_estimators'
: [
3
,
10
],
'max_features'
: [
2
,
3
,
4
]},
]
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>
(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相关推荐
- 自定义函数使用GridSearchCV参数寻优
自定义函数使用GridSearchCV参数寻优 GirdSearchCV and RandomizedSearchCV 自定义函数中使用GirdSearchCV GridSearchCV参数说明 Gr ...
- gridsearchcv参数_随机森林算法参数解释及调优
本文将详细解释随机森林类的参数含义,并基于该类讲解参数择优的过程. 随机森林类库包含了RandomForestClassifer类,回归类是RandomForestRegressor类.RF的变种Ex ...
- tensorflow 1.0 学习:参数和特征的提取
tensorflow 1.0 学习:参数和特征的提取 在tf中,参与训练的参数可用 tf.trainable_variables()提取出来,如: #取出所有参与训练的参数 params=tf.tra ...
- 迁移学习 迁移参数_迁移学习简介
迁移学习 迁移参数 介绍 (Introduction) We as humans have the ability to transfer the knowledge gained in one ta ...
- 【深度学习】参数量、模型大小、显存
对于一个深度学习神经网络来说,其通常包含很多卷积层,用于不断提取目标的特征,或对目标进行最终定位或者分类. 1 数据存储精度与存储空间 在深度学习神经网络中,最常见的数据格式是float32,占4个字 ...
- GRBL学习-GRBL参数配置
GRBL参数配置 最近在学习GRBL,记录一下学习的过程 GRBL1.1h GRBL1.1h GRBL1.1h配置参数 $ 输入$并按回车键让Grbl打印出帮助信息. 输出: [HLP:$$ $# $ ...
- DEEP COMPRESSION(深度学习网络参数压缩)
DEEP COMPRESSION: DEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUANTIZAT ...
- 直观的获得MATLAB训练得到的深度学习网络参数与结构
在MATLAB当中可以通过在"命令行窗口"输出help trainNetwork获得简单的深度学习网络的搭建的代码. 为了获得经过训练得到的深度学习模型的结构与学习参数个数,而不用 ...
- Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径、相对路径
Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径.相对路径 目录 两行代码输出根目录下所有子文件夹的绝对路径.相对路径 两行代码输出根目录下所有子文件夹的绝对路径.相对路径 #Py ...
最新文章
- VS2008常用快捷键
- 【Linux】一步一步学Linux——ac命令(102)
- 淘淘商城项目分析报告
- c调python_py_initialize:C调Python出错 是初始化错误?
- JPA 2 | EntityManagers,事务及其周围的一切
- spark中local模式与cluster模式使用场景_不可不知的Spark调优点
- Linux系统:centos7下安装Jdk8、Tomcat8、MySQL5.7环境
- 因为一个字符校对问题,我的大厂面试挂了
- python 搜索功能,使用Python使用网站的搜索功能
- 怎么使用Eclipse默认的keystore签名打包成Apk
- Centos下 ftp服务的相关配置
- 平衡树插入调整的记忆策略
- SQL中自增(AUTO_INCREMENT)字段介绍
- 精明管理者选人的N种方式
- 手动抛出异常_TestNG和SpringBoot2.1.6整合后,导致TestNG的断言异常无法抛出,是为什么?...
- Oracle设置主键自增
- 2012最新网上购物排行榜
- 手机CAD如何快速看图下载?
- Django Book 中对于MVC的阐释
- 计算机系统操作权限,已过GSP认证文件计算机系统操作权限确认表.docx
热门文章
- 哈工大深圳计算机就业质量报告,多所高校公布毕业生平均年薪,南京大学和哈工大(深圳)数据亮眼...
- Geoffrey Hinton:放弃反向传播,我们的人工智能需要重头再来
- Ant Design Vue 如何获form表单里数据 并给 v-decorator绑定的数据重新赋值
- 极客时间 IT 20+ 张 各架构 高清技能图谱
- 通信总线协议五 :CAN
- jQuery中toggle与slideToggle以及fadeToggle之间的不同
- atl常量暴露的最简便方法
- 自定义mui的索引列表indexedList(可用作通讯录)详细用法
- 清楚浮动四种常用方法
- 局域网即时通讯软件可以保护数据安全吗?