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

自己做的网站怎么设置关键词百度题库

自己做的网站怎么设置关键词,百度题库,企业邮箱app下载,网站设计包括哪些内容文章目录 前言一、模型选择与调优1.交叉验证2.超参数搜索 前言 通过今天的学习,我掌握了机器学习中模型的选择与调优,包括交叉验证,超参数搜索的概念与基本用法。 一、模型选择与调优 模型的选择与调优有许多方法,这里主要介绍较…

文章目录

  • 前言
  • 一、模型选择与调优
    • 1.交叉验证
    • 2.超参数搜索


前言

通过今天的学习,我掌握了机器学习中模型的选择与调优,包括交叉验证,超参数搜索的概念与基本用法。


一、模型选择与调优

模型的选择与调优有许多方法,这里主要介绍较差验证和超参数搜索。

1.交叉验证

交叉验证就是将数据集进行适当地划分,一部分用于训练,另一部分用于验证。

(1)保留交叉验证
该交叉验证方法将数据集随机划分为训练集和测试集,根据经验法则,整个数据集的近70%被用作训练集,其余30%被用作验证集。这是我们最常用的数据划分方法。

划分过程简单,执行效率高是该方法最大的优点,所以我们最常使用这种划分方式。

该方法的缺点包括:

  • 当数据量较大时,部分数据被划分为测试集,失去了训练的机会,会造成数据浪费。
  • 不平衡的数据集效果较差,如果一个数据集只有两类而划分恰好将两类数据分开,这会导致后续结果准确度下降。

API用法:
sklearn.model_selection.train_test_split(x,y,train_size,shuffle,random_state,stratify=y)

  • stratify参数用于指定分层方式,一般是根据目标进行分层。

tips:结合使用shuffle,stratify参数可以在一定程度上平衡该方法的缺点,但对于不平衡的数据还是建议使用其他方法。

(2)k-折交叉验证
k-折交叉验证将数据集划分为大小相同的k个部分,每一个分区称为一个“Fold”,该方法重复k次,每次将一个Fold被用作验证集,其余的K-1个Fold被用作训练集。

该方法可以保证每一条数据都用作训练和测试,模型最终结果是取这k次训练的平均结果,解决了保留交叉验证中数据浪费的问题。

同时,我们再引入分层的概念,在每一个Fold中保持着原始数据中各个类别的比例关系,这样就可以解决原始数据不平衡的问题。

在这里插入图片描述

该方法的缺点同样明显,在面对海量数据时,每一折意味着多训练一个模型,这对硬件性能要求很高。因此,在实际使用的过程中,我们需要权衡需求和硬件条件,一般选择保留交叉验证。

API用法:
sklearn.model_selection.KFold #普通k-fold
sklearn.model_selection.StratifiedKFold #分层k-fold

  • n_splits指定划分为几个折叠
  • shuffle是否在拆分之前被打乱(随机化)
  • 该API还可以继续调用split方法,返回一个可迭代对象,包括每个fold的训练集,测试集下标。
from sklearn.model_selection import KFoldiris = load_iris()
x,y = load_iris(return_X_y=True)kf = KFold(n_splits=5)
index = kf.split(x,y)for train_index,test_index in index:x_train,x_test = x[train_index],x[test_index]y_train,y_test = y[train_index],y[test_index]print(y_test)

2.超参数搜索

超参数搜索也叫网格搜索,指的是程序自动帮我们找到超参数(人为设定的参数)。

API用法:
sklearn.model_selection.GridSearchCV(estimator, param_grid)

  • estimator: scikit-learn估计器实例
  • param_grid:以参数名称(str)作为键,将参数设置列表尝试作为值的字典,例如KNN中: {“n_neighbors”: [1, 3, 5, 7, 9, 11]}
  • cv指的是交叉验证操作
  • 该方法返回:best_params_ 最佳参数,best_score_ 在训练集中的准确率,best_estimator_ 最佳估计器等属性
estimator = KNeighborsClassifier()# 加入网格搜索与交叉验证, GridSearchCV会让k分别等于1,2,5,7,9,11进行网格搜索偿试。cv=10表示进行10次交叉验证
estimator = GridSearchCV(estimator, param_grid={"n_neighbors": [1, 3, 5, 7, 9, 11]}, cv=10)
estimator.fit(x_train, y_train)

THE END

http://www.dtcms.com/wzjs/207322.html

相关文章:

  • 高端企业网站建设费用网页设计与制作项目教程
  • 上海网站建设微信开发百度seo通科
  • 建设银行网站苹果电脑怎样在百度上宣传自己的产品
  • wordpress istax深圳seo优化公司
  • 手机微网站开发的目的和意义网站流量查询平台
  • 怎么样做一个网站seo网络培训机构
  • 网站建设方案 pptseo技术培训中心
  • 做地方旅游网站广东东莞最新情况
  • jsp简述网站开发流程无锡百度快速优化排名
  • 重庆网站开发公宣传软文怎么写
  • 广西商城网站建设线上推广渠道主要有哪些
  • wordpress 微信发布文章营口seo
  • 沂水建设局网站杭州seo公司哪家好
  • 专门做狗猫配套网站有什么意思网页设计个人网站
  • 已经备案的网站新增ip怎么做哈尔滨网络seo公司
  • 网站优化难吗网络营销推广服务商
  • 网站建设功能要求最近一两天的新闻有哪些
  • 商务网站的建设与管理百度热门排行榜
  • 邯郸小学网站建设自己搜20条优化措施
  • 删除织梦综合网站新闻软文范例大全
  • 自动网站建设收录网站有哪些
  • 城乡建设部网官方网站青岛网站建设微动力
  • 青岛做外贸网站的公司简介足球联赛排名
  • 四川省城乡和住房建设厅网站广州外贸推广
  • 学校网站建设过程无锡百度
  • 网站开发用什么语言比较好搜索引擎技术包括哪些
  • 帝国cms关闭网站排名优化怎么做
  • 可以做吸粉游戏的网站磁力搜索器
  • 2015做那个网站能致富怎么把平台推广出去
  • 济南制作网站信阳网络推广公司