前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >模型选择–网格搜索

模型选择–网格搜索

作者头像
全栈程序员站长
发布2022-09-27 09:52:17
6010
发布2022-09-27 09:52:17
举报
文章被收录于专栏:全栈程序员必看

首先使用训练数据训练模型,然后使用交叉验证数据挑选最佳模型,最后使用测试数据测试模型是否完好。

下面举一个训练逻辑回归模型的例子。

假设有四个模型,第一个是一次模型,然后二次,三次,四次模型。我们使用训练数据训练,并算出多项式的斜率和系数等等。

然后使用交叉验证数据计算所有这些模型的F1分数,然后选择F1得分最高的模型,最后使用测试数据确保模型效果完好

算法的参数就是多项式的系数,但是多项式的系数就像物性参数,我们称之为超参数(Hyper-parameters)。

模型选择--网格搜索
模型选择--网格搜索

假如我们要训练决策树,此时的超参数为深度,假设深度为1,2,3,4.

参数是树叶和节点等的阈值。

训练-验证-测试.

过程如上。

模型选择--网格搜索
模型选择--网格搜索

当有多个超参数时。

for example: SVM。

模型选择--网格搜索
模型选择--网格搜索

如何选择最佳内核(kernel)和伽马(gamma)组合。

我们使用网格搜索:即制作一个表格,并列出所有可能的组合,选择最佳组合。

模型选择--网格搜索
模型选择--网格搜索

在 sklearn 中的网格搜索

在 sklearn 中的网格搜索非常简单。 我们将用一个例子来说明一下。 假设我们想要训练支持向量机,并且我们想在以下参数之间做出决定:

  • kernel:polyrbf
  • C:0.1,110

具体步骤如下所示:

1. 导入 GridSearchCV

代码语言:javascript
复制
from sklearn.model_selection import GridSearchCV

2.选择参数:

现在我们来选择我们想要选择的参数,并形成一个字典。 在这本字典中,键 (keys) 将是参数的名称,值 (values) 将是每个参数可能值的列表。

代码语言:javascript
复制
parameters = {'kernel':['poly', 'rbf'],'C':[0.1, 1, 10]}

3.创建一个评分机制 (scorer)

我们需要确认将使用什么指标来为每个候选模型评分。 这里,我们将使用 F1 分数。

代码语言:javascript
复制
from sklearn.metrics import make_scorer
from sklearn.metrics import f1_score
scorer = make_scorer(f1_score)

4. 使用参数 (parameter) 和评分机制 (scorer) 创建一个 GridSearch 对象。 使用此对象与数据保持一致 (fit the data) 。

代码语言:javascript
复制
# Create the object.
grid_obj = GridSearchCV(clf, parameters, scoring=scorer)
# Fit the data
grid_fit = grid_obj.fit(X, y)

5. 获得最佳估算器 (estimator)

代码语言:javascript
复制
best_clf = grid_fit.best_estimator_

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179714.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在 sklearn 中的网格搜索
    • 1. 导入 GridSearchCV
      • 2.选择参数:
        • 3.创建一个评分机制 (scorer)
          • 4. 使用参数 (parameter) 和评分机制 (scorer) 创建一个 GridSearch 对象。 使用此对象与数据保持一致 (fit the data) 。
            • 5. 获得最佳估算器 (estimator)
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档