当前位置: 首页 > news >正文

自媒体专业宁波网站推广优化外包公司

自媒体专业,宁波网站推广优化外包公司,服务好的普通网站建设,广东建设信息网粤建通sklearn.model_selection.GridSearchCV 是 scikit-learn 中用于超参数调优的核心工具,通过结合交叉验证和网格搜索实现模型参数的自动化优化。以下是详细介绍: 一、功能概述 GridSearchCV 在指定参数网格上穷举所有可能的超参数组合,通过交叉…

sklearn.model_selection.GridSearchCV 是 scikit-learn 中用于超参数调优的核心工具,通过结合交叉验证和网格搜索实现模型参数的自动化优化。以下是详细介绍:


一、功能概述

GridSearchCV 在指定参数网格上穷举所有可能的超参数组合,通过交叉验证评估每组参数的性能,最终选择最优参数组合。其核心价值在于:

  1. 自动化调参:替代手动参数调试,提升效率3。
  2. 交叉验证支持:通过 K 折交叉验证减少过拟合风险,评估结果更可靠。


二、核心参数说明

参数类型作用
estimator估计器对象需调参的模型(如 SVC()RandomForestClassifier()
param_grid字典或列表参数名称(字符串)为键,候选参数值列表为值(如 {'C': [1,10], 'kernel': ['linear','rbf']}
scoring字符串/可调用对象评估指标(如 'accuracy''roc_auc'),默认使用模型的 score() 方法1013
cvint/交叉验证生成器交叉验证折数(默认 5 折),或自定义数据划分策略28
n_jobsint并行任务数(-1 表示使用所有 CPU 核)

三、主要属性

调用 fit() 方法后可通过以下属性获取结果:

  • best_score_:交叉验证中的最高得分。
  • best_params_:最优参数组合(如 {'C': 10, 'kernel': 'rbf'})。
  • cv_results_:详细结果字典,包含每组参数的平均得分、标准差等。

四、工作流程

  1. 数据划分:原始数据分为训练集和测试集,训练集进一步通过 K 折交叉验证划分为子集。
  2. 参数组合生成:根据 param_grid 生成所有可能的超参数组合(如 2×2 网格生成 4 组参数。
  3. 交叉验证评估:每组参数在 K 折数据上训练并验证,计算平均得分。
  4. 最优模型选择:选择平均得分最高的参数组合,最终在完整训练集上训练模型8

五、代码演示

1、手动调参(循环调参)

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris#加载数据集
iris = load_iris()
x = iris.data
y = iris.target#划分数据集
x_train, x_test, y_train, y_test = train_test_split(x, y, train_size=0.7, random_state=233, stratify=y)#分类
from sklearn.neighbors import KNeighborsClassifier#设置默认参数
neigh = KNeighborsClassifier(n_neighbors=3,weights='distance',#'uniform',p = 2
)
#适配参数
neigh.fit(x_train, y_train)
#评估模型
neigh.score(x_test, y_test) #结果:0.9777777777777777#自动设参(主要遍历每个参数,找出最佳结果的参数)
best_score = -1
best_n  = -1
best_weight = ''
best_p = -1for n in range(1, 20):for weight in ['uniform', 'distance']:for p in range(1, 7):neigh = KNeighborsClassifier(n_neighbors=n,weights=weight,p = p)neigh.fit(x_train, y_train)score = neigh.score(x_test, y_test)if score > best_score:best_score = scorebest_n = nbest_weight = weightbest_p = pprint("n_neighbors:", best_n)
print("weights:", best_weight)
print("p:", best_p)
print("score:", best_score)#结果:n_neighbors: 5
#weights: uniform
#p: 2
#score: 1.0

2、KNN-sklearn.model_selection.GridSearchCV调参

import numpy as np
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris#加载数据集
iris=load_iris()
x=iris.data
y=iris.target#划分数据集(7:3)
x_train, x_test, y_train, y_test = train_test_split(x, y, train_size=0.7, random_state=233, stratify=y)#设置参数范围
params = {'n_neighbors': [n for n in range(1, 20)],'weights': ['uniform', 'distance'],'p': [p for p in range(1, 7)]
}#定义调参对象
grid = GridSearchCV(estimator=KNeighborsClassifier(),param_grid=params,n_jobs=-1
)#适配参数
grid.fit(x_train, y_train)#打印最佳参数
print(grid.best_params_)#输出预测值
print(grid.best_estimator_.predict(x_test))#模型评估
print(grid.best_estimator_.score(x_test, y_test))

http://www.dtcms.com/a/427877.html

相关文章:

  • nvm下载node版本,npm -v查看版本报错
  • 网站服务器 电信网站全屏弹出窗口
  • uniapp设置安全区
  • Vue 主应用中同时支持 qiankun 子应用与 iframe 子应用的加载方案
  • 网站icp备案地品牌注册类别
  • 有没有做公司网站的wordpress搜索框插件
  • 专门做当归的网站建设工程合同可以分为
  • 主机如何做网站空间北京南站核酸检测地点
  • k8s-pod的容器类型
  • JVM 性能诊断
  • 网站建设比较wordpress菜单设置中文
  • 网站建设移动时代网站研发公司
  • 郑州网站网页设计深圳装修公司排名榜
  • JavaScript typeof 运算符详解
  • 第五章 误差反向传播
  • 阻止系统休眠(C++)
  • “相等”的含义表明自变量不同的函数不能是同一函数——中学数学几百年重大错误:将各异函数误为同一函数
  • React学习(一)描述UI
  • 【VMware】虚拟机跨主机迁移详细情况说明
  • 推广链接网站建设部继续教育网站
  • 做汽配的网站磐安县住和城乡建设局网站
  • kube-prometheus setup
  • 做销售的如何在网站图片wordpress博客
  • 2025年度山东省省级行业大模型申报指南:第三方检测报告核心要求与CQC权威认证解析
  • AGI 元年:技术突破、伦理挑战与治理破局
  • 佛山网站建设 合优建设银行为啥重置不了密码
  • centos7安装docker 26.1.4-1
  • 建行广东茂名河东支行:开展“金融知识万里行”系列活动
  • 网站结构怎么做适合优化wordpress 点击文章图片路径
  • 情感计算多模态融合方法