什么是网格搜索?
网格搜索是一种参数调优的方法,它可以帮助找到最佳的模型参数。在网格搜索中,我们先指定参数的候选值范围,然后枚举所有可能的参数组合,计算每个模型的性能指标(比如准确率、精确率等)。最后,选择性能指标最优的那个参数组合作为最终的模型参数。网格搜索的名称来源于我们将参数的候选值范围表示为一个二维的参数网格。
scikit-learn GridSearchCV类介绍
API Reference — scikit-learn 1.4.0 documentation
sklearn.model_selection.GridSearchCV — scikit-learn 1.4.0 documentation
重要参数说明:
- estimator:要优化的模型对象。
- param_grid:指定参数的候选值范围,可以是一个字典或列表。
- scoring:性能评估方法。
- n_jobs:并行运行的作业数。
- refit:是否在找到最佳参数后在整个数据集上重新拟合估计器。
- cv:交叉验证生成器或可迭代的产生训练/验证集的拆分器。
- verbose:详细程度。
- pre_dispatch:控制在并行执行期间调度的作业数。当调度的作业比CPU处理的作业多时,减少这个数字有助于避免内存消耗的爆炸式增长。
- error_score:如果估算器拟合中出现错误,则分配给分数的值。。
- return_train_score:是否返回训练评分。
重要属性说明:
- best_estimator_:返回在交叉验证中选择的最佳估计器。
- best_params_:返回在交叉验证中选择的最佳参数组合。
- best_score_:返回在交叉验证中选择的最佳评分。
- cv_results_:返回一个字典,其中包含网格搜索期间计算出的所有性能指标和参数设置的详细信息。
- scorer_:返回用于评分的评估器。
- n_splits_:返回交叉验证折叠数。
这些属性可以提供有关在网格搜索期间发生的事件和结果的详细信息,包括最佳模型、最佳参数和最佳评分等。您可以根据需要使用这些属性来进一步分析优化的结果。
scikit-learn GridSearchCV类使用案例
# 导入依赖包 from sklearn.datasets import load_breast_cancer from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import GridSearchCV from sklearn.model_selection import cross_val_score import matplotlib.pyplot as plt import pandas as pd import numpy as np
# 导入乳腺癌数据集,探索数据 data = load_breast_cancer() print(data.data.shape) # 可以看到,乳腺癌数据集有569条记录,30个特征,单看维度虽然不算太高,但是样本量非常少。过拟合的情况可能存在。 print(data.data[0:5]) print(data.target.shape) print(data.target[0:5]) print(data.feature_names) print(data.target_names)
# 进行一次简单的建模,看看模型本身在数据集上的效果 rfc = RandomForestClassifier(n_estimators=10, random_state=90) score_pre = cross_val_score(rfc, data.data, data.target,cv=10).mean() score_pre # 这里可以看到,随机森林在乳腺癌数据上的表现本就还不错,在现实数据集上,基本上不可能什么都不调就看到95%以上的准确率
# 开始按照参数对模型整体准确率的影响程度进行调参,首先调整max_depth #调整max_depth param_grid = {'max_depth':np.arange(1, 20, 1)} # 一般根据数据的大小来进行一个试探,乳腺癌数据很小,所以可以采用1~10,或者1~20这样的试探 # 但对于像digit recognition那样的大型数据来说,我们应该尝试30~50层深度(或许还不足够 # 更应该画出学习曲线,来观察深度对模型的影响 rfc = RandomForestClassifier(n_estimators=73 ,random_state=90 ) GS = GridSearchCV(rfc, param_grid, cv=10) GS.fit(data.data,data.target) print(GS.best_params_) print(GS.best_score_) plt.figure(figsize=[20,5]) plt.plot(range(1,20), GS.cv_results_['mean_test_score']) plt.ylabel('score') plt.xlabel('max_depth') plt.xticks(range(1,21)) plt.show()
更多详细信息,可以阅读:[Python] 什么是集成算法,什么是随机森林?随机森林分类器(RandomForestClassifier)及其使用案例-CSDN博客
的“案例二:乳腺癌数据集进行随机森林调参”。
猜你喜欢
- 1月前(从“见世面”到“内在需要”:在海南,追问旅行的意义)从“见世面”到“内在需要”:在海南,追问旅行的意义
- 1月前(郭富城热舞劲歌演唱会)郭富城年度压轴《新濠尊属系列郭富城梦幻舞林演唱会2023》
- 1月前(上海文旅产业发展高峰论坛)《上海打造文旅元宇宙新赛道行动方案》发布
- 1月前(香港航空三亚航线复航了吗)香港航空三亚航线复航
- 1月前(七尚酒店百度百科)Lohkah七尚酒店首度开创充满新知的闽地研学旅程
- 1月前(071 圣安东尼奥)秋季 圣安东尼奥交出了私藏活动清单
- 1月前(天津四季酒店开业时间)天津四季酒店邀你开启灿烂暑假
- 1月前(岭南东方大酒店)粤西成势 | 阳江阳春长兴岭南东方酒店正式签约,粤西文旅再添明珠
- 1月前(曹妃甸美仑华府哪个楼层好)曹妃甸新城教育经济新引擎启动—美仑国际酒店盛大开业
- 1月前(泸沽湖大酒店地址)泸沽湖岚岳酒店盛大开业|以摩梭文化为魂,打造高端度假新地标
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章