【参数调优】网格搜索GridSearchCV输出调参各个结果cv_results_

本文详细介绍了使用GridSearchCV进行模型参数调优的过程。通过设置参数范围,利用交叉验证评估不同参数组合的效果,并展示了如何获取最佳参数及平均测试得分。

cv_results_本身就是一个字典形式的输出,里面含有很多结果

param_test1 = {'n_estimators': range(10, 101, 10)}
gssearch = GridSearchCV(RF, param_grid=param_test1, cv=5)

print(cv_results_)  直接调用代码,运行结果如下:

大概分三类:时间(time)、参数(params)、得分(score)

如果要输出调参的各个结果,可以运行以下代码:

means = gssearch.cv_results_['mean_test_score']
params = gssearch.cv_results_['params']
for mean,param in zip(means,params):
    print("%f  with:   %r" % (mean,param))

每次取mean_test_score和对应的params

### GridSearchCV `cv_results_` 属性详解 #### 什么是 `cv_results_` 在使用 `GridSearchCV` 进行超参数时,除了最佳模型外,还可能希望深入了解每次迭代的具体表现。为此,`GridSearchCV` 提供了一个名为 `cv_results_` 的属性,该属性是一个字典对象,其中包含了关于每种参数组合及其对应性能评估的详尽信息[^3]。 #### 主要字段解释 - **mean_test_score**: 各个候选模型经过交叉验证后得到的平均测试得分。 - **std_test_score**: 测试分数的标准差,用于衡量不同折次间成绩波动情况。 - **rank_test_score**: 候选者按照其最终得分排名的位置;数值越低表示越好。 - **split{i}_test_score**: 对应于第 i 折数据集上的单独评分结果(i=0,1,...)。 - **param_{parameter_name}**: 参数名称对应的取值列表形式存储。 - **params**: 所有参与整的参数集合构成的一个元组或字典结构。 - **mean_fit_time**, **std_fit_time**: 训练过程耗时均值与方差统计量。 - **mean_score_time**, **std_score_time**: 预测阶段所需时间的相关统计数据。 这些信息可以帮助理解哪些配置最有效以及它们的表现如何变化。下面给出一段简单的 Python 示例来展示获取并解析此属性的方法: ```python import numpy as np from sklearn.datasets import load_digits from sklearn.svm import SVC from sklearn.model_selection import train_test_split, GridSearchCV # 加载手写数字识别样本集 digits = load_digits() X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target) # 定义支持向量机分类器及网格搜索范围 svc = SVC(gamma="scale") parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]} clf = GridSearchCV(svc, parameters) clf.fit(X_train, y_train) # 输出部分 cv_results_ print("Mean test scores:", clf.cv_results_['mean_test_score']) print("Standard deviation of test scores:", clf.cv_results_['std_test_score']) for mean, std, params in zip(clf.cv_results_["mean_test_score"], clf.cv_results_["std_test_score"], clf.cv_results_["params"]): print("%0.3f (+/-%0.03f) for %r" % (mean, std * 2, params)) ``` 通过上述代码可以清晰地看到每一个尝试过的参数设置所获得的成绩概况,从而为进一步化提供依据。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值