Grid Search简介

Grid Search简介

​ ​ 跟人聊天时听到Grid Search,一开始还以为误以为是Beam Search了,后来查阅了一下才了解了它的意思。
​ ​ Grid Search是一种调参的手段,即穷举,穷举所有的超参组合。

​ ​ 当你对决策树调参,如果只对一个超参优化,比如树的最大深度,尝试[3, 5, 7]。那么可以表示为

在这里插入图片描述

​ ​ 如果你还想对分裂标准进行调参,分别试试gini和entropy,那么就相当要对2×3=6组参数进行尝试。如下图
在这里插入图片描述

​ ​ 所以这就是为什么叫做gird search,网格搜索。grid search是对网格中每个交点进行遍历,从而找到最好的一个组合。网格的维度就是超参的个数。如果有k个超参,每个超参有m个候选,那么我们就要遍历 k m k^m

### 如何使用GridSearch进行机器学习模型的参数优化 在机器学习实践中,超参数的选择对模型表现有显著影响。为了找到最优的超参数组合,`GridSearchCV` 是一种常用的方法,它通过对预定义的超参数列表执行穷举搜索来实现这一点[^1]。 具体来说,`GridSearchCV` 将给定的数据集划分为训练集和验证集,然后遍历所有可能的超参数组合,在每次迭代中使用当前组合下的超参数配置训练模型,并评估该模型在验证集上的性能。最终返回具有最佳验证分数的一组超参数及其对应的模型实例[^3]。 下面是一个简单的例子,展示如何利用 `scikit-learn` 库中的 `GridSearchCV` 来调整支持向量机 (SVM) 的 C 和 gamma 参数: ```python from sklearn import datasets from sklearn.model_selection import GridSearchCV, train_test_split from sklearn.svm import SVC # 加载样本数据集 iris = datasets.load_iris() X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2) # 定义要测试的不同C值和gamma值范围 param_grid = {'C': [0.1, 1, 10], 'gamma': [1e-3, 1e-4]} # 创建分类器对象 svc = SVC() # 使用GridSearchCV来进行交叉验证并寻找最好的参数组合 clf = GridSearchCV(svc, param_grid, cv=5) clf.fit(X_train, y_train) print(f'Best parameters found: {clf.best_params_}') print(f'Score with best parameters: {clf.score(X_test, y_test)}') ``` 这段代码首先导入必要的库和函数;接着加载鸢尾花数据集作为示例,并将其分割成训练集和测试集;之后指定想要探索的超参数空间——这里选择了 SVM 中两个重要的超参数 C 和 gamma;最后创建了一个基于这些选项的 `GridSearchCV` 对象,并调用了 fit 方法启动搜索过程。打印出来的结果展示了发现的最佳参数以及它们所带来的评分效果[^4]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值