【大数据专业】机器学习之模型调优的评估工具 验证曲线 学习曲线
学习目标:
在学习网格搜索,交叉验证之后,对模型优化的效果进行图形化的评价的两种工具:
验证曲线: 由于训练集的评分已经被用于参数调优,因此该评分用于评估效果已经不再客观,需要使用验证集的评分用于评估。
sklearn.model_ selection.validation_ curve(
estimator, X, y
param_ name : string, 在模型搜索中需要改变的参数
param_ range : array-like, shape (n_ values,), 相应参数的具体值列表groups = None : array-like, with shape (n_ samples, )
拆分为训练/测试集时用到的样本分组标签
cv = None : int, 交互验证时的分组方法,为None时按照三组拆分scoring = None, n_ jobs = 1,pre_ dispatch = ‘all’, verbose = 0
)返回:
train_ scores : array, shape (n_ ticks, n_ cv folds), 测试集的模型评分
test_ scores : array, shape (n_ ticks, n_ cv folds), 验证集的模型评分学习曲线: 学习曲线用于评估多大的样本量用于训练才能达到最佳效果.
sklearn.model_ selection.learning_ curve(
estimator, X, y, groups = None
train_ sizes = array([ 0.1,0.325, 0.55, 0.775, 1. ]) :
模型拟合时用于训练集的相对/绝对样本数,用整数表示绝对样本数
cv = None, scoring = None
exploit_ incremental_ learning = False :是否使用增量学习策略
n_ jobs = 1, pre_ dispatch = ‘all’, verbose = 0
shuffle = False, random state = None
)返回: .
train_ sizes_ abs : array, shape = (n_ unique ticks,), 训练集大小
train_ scores : array, shape (n_ ticks, n_ cv_ folds), 训练集评分
test_ scores : array, shape (n_ ticks, n cv folds),验证集评分
验证曲线:
1、导入验证曲线函数:
from sklearn.model_selection import validation_curve
2、导入波士顿房价数据集并实例化:
from sklearn.datasets import load_boston
实例化:
boston = load_boston()
3、导入sklearn的岭回归模块:
from sklearn.linear_model import Ridge
4、将原始数据打乱为随机顺序:
#导入numpy库并将原始波士顿房价数据集打乱
import numpy as np
np.random.seed(666)
X,y = boston.data, boston.target
indices = np.arange(y.shape[0])
np.random.shuffle(indices)
X,y = X[indices],y[indices]
5、返回评价结果:
train_scores,test_scores = validation_curve(Ridge(),X,y,"alpha",np.logspace(-10,10,200))
(数据量过大,在此仅显示部分信息)
6、验证集的模型评分:
print(test_scores)
结果为:
(仅显示部分结果)
7、绘制验证曲线:
import matplotlib.pyplot as plt
%matplotlib inline
plt.scatter(np.logspace(-10,10,200),np.mean(test_scores,axis = 1))
结果为:
学习曲线:
用于评估多大的样本量用于训练才能达到最佳效果
在初期,增加样本量会使得模型评分持续改善,但改善速度逐渐放缓
如果在增加训练集大小时,训练分值和验证分值都已经收敛到一个很低的
平稳值,则继续增加训练数据并不会改善模型效果如果训练样本最大化时,训练分值仍然明显高于验证分值,说明模型存在
过拟合,此时增加训练样本很可能会改善模型的泛化能力
1、导入学习曲线模块:
from sklearn.model_selection import learning_curve
2、设置训练集大小:
size = np.linspace(0.1,1,10)
3、返回评价结果:
train_sizes,train_scores,test_scores = learning_curve(Ridge(),X,y,train_sizes = size,cv = 10)
4、训练集大小:
print(train_sizes)
结果为:
[ 45 91 136 182 227 273 318 364 409 455]
5、训练集评分:
print(train_scores)
6、验证集评分:
print(test_scores)
7、绘制学习曲线:
plt.scatter(train_sizes,np.mean(train_scores,axis = 1))
plt.scatter(train_sizes,np.mean(test_scores,axis = 1))
结果为:
8、更改训练集大小进行验证:
- 8.1更改训练集大小为100:
size = np.linspace(0.1,1,100)
plt.scatter(train_sizes,np.mean(train_scores,axis = 1),s = 2)
plt.scatter(train_sizes,np.mean(test_scores,axis = 1),s = 2)
结果为:
- 8.2更改训练集大小为1000:
size = np.linspace(0.1,1,1000)
plt.scatter(train_sizes,np.mean(train_scores,axis = 1),s = 2)
plt.scatter(train_sizes,np.mean(test_scores,axis = 1),s = 2)
结果为:
【大数据专业】机器学习之模型调优的评估工具 验证曲线 学习曲线相关推荐
- 大数据培训:Spark性能调优与参数配置
Spark性能调优-基础篇 众所周知,正确的参数配置对提升Spark的使用效率具有极大助力,帮助相关数据开发.分析人员更高效地使用Spark进行离线批处理和SQL报表分析等作业. 推荐参数配置模板如下 ...
- 大数据培训:Spark 性能调优详解
调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题--数据倾斜,此时Spark作业的性能会比期望差很多.数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的 ...
- 大数据之-Hadoop3.x_生产调优手册_HDFS读写压测---大数据之hadoop3.x工作笔记0162
首先我们去测试HDFS的写性能,可以看到,我们向HDFS集群写入10个128M的文件 去测试 然后我们看,这里我们用到的是这个tests.jar这个命令的jar包来进行测试的,可以看到他会把多个文件, ...
- 过拟合与模型调优(part1)--过拟合,模型调优,数据分割
学习笔记,仅供参考,有错必纠 PS : 本BLOG采用中英混合模式,有些英文下有中文翻译 文章目录 名词解释 模型调优 过拟合问题 模型调优 数据分割 名词解释 模型调优 we will assume ...
- Yolov5自定义图片训练测试及模型调优(详细过程)
Yolov5自定义图片训练测试及模型调优(详细过程) 1. 图像数据获取.标注 2. 数据集划分及准备 3. 配置训练参数,准备训练: 3.1 修改data/训练配置xxx.yaml文件: 3.2 修 ...
- 收藏 | 机器学习模型调优3大策略
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 无 ...
- R语言机器学习Caret包(Caret包是分类和回归训练的简称)、数据划分、数据预处理、模型构建、模型调优、模型评估、多模型对比、模型预测推理
R语言机器学习Caret包(Caret包是分类和回归训练的简称).数据划分.数据预处理.模型构建.模型调优.模型评估.多模型对比.模型预测推理 目录
- Python工程能力进阶、数学基础、经典机器学习模型实战、深度学习理论基础和模型调优技巧……胜任机器学习工程师岗位需要学习什么?...
咱不敢谈人工智能时代咋样咋样之类的空话,就我自己来看,只要是个营收超过 5 亿的互联网公司,基本都需要具备机器学习的能力.因为大部分公司盈利模式基本都会围绕搜索.推荐和广告而去. 就比如极客时间,他的 ...
- 能识别nvme的pe启动_【腾讯WeTest干货分享】机器学习在启动耗时测试中的应用及模型调优...
商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处 原文链接:http://wetest.qq.com/lab/view/392.html WeTest导语 启动耗时自动化方案在关键帧识别时 ...
最新文章
- 网页、网站规划与设计1
- 每日一皮:这真的是亲妈吗...
- jboss resin tomcat 相关
- 【C++学习】String类的基本用法
- 前端学习(3309):redux项目创建和概况
- python三大编程语言_程序员最需要的三种编程语言
- 苹果CMS v10一键采集芒果tv官方直链地址插件
- 数据结构队列代码_代码简介:队列数据结构如何工作
- 都说开完电动汽车,就不想再开回燃油车了,是这样吗?
- Vue中常见的性能优化
- 计算机wind10切换桌面wind7系统,win10多桌面切换的方法以及开启步骤是怎样的
- MQ队列管理器_PMTS命令
- 中小企业固定资产管理办法哪种好?
- 如何在直播、会议、视频中使用虚拟形象
- pytorch drop_last参数
- 优雅地使用eruda在移动端上调试网页
- python绘制图形沙漏_论计时沙漏对于学习python的重要性
- systeminfo命令
- Numpy中的数组、行/列向量及其之间的转化
- 中国企业入局AR芯片市场,提升元宇宙时代的核心竞争力