《深度学习Python实践》第17章——算法调参
1.机器学习算法调参
1)网格搜索优化参数
网格搜索优化参数——通过遍历已定义参数的列表来评估算法的参数。
在sklearn 中使用GridSearchCV来实现对参数的跟踪、调整与评估。
GridSearchCV使用字典对象来指定需要调参的参数,可以同时对一个或多个参数进行调参。
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
from pandas import read_csv
from sklearn.model_selection import GridSearchCV
from sklearn.linear_model import Ridgefilename='pima indians.txt'
names=['preg','plas','pres','skin','test','mass','pedi','age','class']
data=read_csv(filename,names=names)
array= data.values
X= array[:,0:8]
Y= array[:,8]
model = Ridge() #脊回归
param_grid={'alpha':[1, 0.1, 0.01, 0.001, 0]} #可以设置多个键值对,同时查询多个参数的最优参数值
grid=GridSearchCV(estimator = model ,param_grid = param_grid)
grid.fit(X,Y)print('最高得分:%.3f' % grid.best_score_)
print('最优参数:%.3f' % grid.best_estimator_.alpha)
运行结果为:
最高得分:0.280
最优参数:1.000
2)随机搜索优化参数
随机搜索优化参数——通过固定次数的迭代,采用随机采样分布的方式搜索合适的参数。
——与网格搜索优化参数相比,随机搜索优化参数更高效(特别是在参数数量多的情况下)。随机搜索优化参数为每个参数定义了一个分布函数,并在该空间中采样。
在sklearn 中通过RandomizedSearchCV来实现。
from pandas import read_csv
from sklearn.model_selection import RandomizedSearchCV
from sklearn.linear_model import Ridge
from scipy.stats import uniformfilename='pima indians.txt'
names=['preg','plas','pres','skin','test','mass','pedi','age','class']
data=read_csv(filename,names=names)
array= data.values
X= array[:,0:8]
Y= array[:,8]
model = Ridge()
param_grid={'alpha':uniform}
#随机搜索优化参数
grid=RandomizedSearchCV(estimator = model ,param_distributions = param_grid, n_iter=100, random_state=7)
grid.fit(X,Y)print('最高得分:%.3f' % grid.best_score_)
print('最优参数:%.3f' % grid.best_estimator_.alpha)
运行结果为:
最高得分:0.280
最优参数:0.978
《深度学习Python实践》第17章——算法调参相关推荐
- 基于Python贝叶斯优化XGBoost算法调参报错“TypeError: ‘float‘ object is not subscriptable”
基于Python贝叶斯优化XGBoost算法调参运行情况如下: iter target colsam- gamma max_depth min_ch- subsample 1 0.9398 0.804 ...
- 基于深度学习的手写数字识别算法Python实现
摘 要 深度学习是传统机器学习下的一个分支,得益于近些年来计算机硬件计算能力质的飞跃,使得深度学习成为了当下热门之一.手写数字识别更是深度学习入门的经典案例,学习和理解其背后的原理对于深度学习的理解有 ...
- 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(四)(Python语言基础(2))
[神经网络与深度学习-TensorFlow实践]-中国大学MOOC课程(四)(Python语言基础(2)) 第4讲 Python语言基础(2) 4.1 内置数据结构 4.1.1 序列数据结构(sequ ...
- 人工神经网络理论、设计及应用_TensorFlow深度学习应用实践:教你如何掌握深度学习模型及应用...
前言 通过TensorFlow图像处理,全面掌握深度学习模型及应用. 全面深入讲解反馈神经网络和卷积神经网络理论体系. 结合深度学习实际案例的实现,掌握TensorFlow程序设计方法和技巧. 着重深 ...
- 零基础入门深度学习(3) - 神经网络和反向传播算法
无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...
- 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(八)(TensorFlow基础))
[神经网络与深度学习-TensorFlow实践]-中国大学MOOC课程(八)(TensorFlow基础)) 8 TensorFlow基础 8.1 TensorFlow2.0特性 8.1.1 Tenso ...
- 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述
<繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...
- 深度学习笔记第二门课 改善深层神经网络 第一周:深度学习的实践层面
本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...
- 2.1)深度学习笔记:深度学习的实践层面
目录 1)Train/Dev/Test sets 2)Bias/Variance 3)Regularization(重点) 4)Why regularization reduces overfitti ...
- 解析深度学习:语音识别实践 (俞栋等著) 完整pdf[44MB]
AlphaGo与李世石的围棋大战激发了人们对人工智能是非的诸多争论.人工智能背后的工作原理深度学习跳入大众的视野.AlphaGo的大获全胜一定程度展示了深度学习在应用领域的成功,而语音识别正是深度学习 ...
最新文章
- FastQC结果解读
- linux-压缩与解压缩(gz,zip,tar,jar,war)
- 持志助中华 九州初志开创国内集群存储新时代
- fatal error C1189: #error : Building MFC application with /MD[d]
- Linux之提高Nginx的安全性:受限server_tokens /user_agents/buffer_size/连接数/请求方法/外链/不用模块 使用日志/TLS/HTTPS/升级
- Enumerable 下又有新的扩展方法啦,快来一睹为快吧
- java全文检索工具_全文检索工具elasticsearch:第三章: Java程序中的应用
- App后台开发运维和架构实践学习总结(1)——App后台核心技术之用户验证方案
- Elasticsearch 高并发写入优化的开源协同经历 | 技术头条
- 使用独立PID namespace防止误杀进程
- 编译原理教程_6 LR分析法
- 前后端分离项目如何部署_不用Docker前后端分离项目如何快速部署
- android usb挂载分析---vold处理内核消息
- ModuleNotFoundError: No module named ‘models‘
- 手机安装python模块吗_你不知道的Python模块安装教程
- 汇编语言简明教程习题答案
- python艺术签名_用 Python 制作一个艺术签名小工具,给自己设计一个优雅的签名...
- HTML链接会议申请,会议流程.html
- 需求调研前的准备工作
- 卡耐基人际关系学-第一章 卡耐基应付对手的方法-一 避免伤害的艺术
热门文章
- cron每两个小时_crontab 每隔 1 小时 2 小时的执行 job 写法
- php 打印 域名ip_php如何获取域名IP地址代码函数
- java中面向对象6_Java面向对象
- python动态导入类或函数_Python 动态从文件中导入类或函数的方法
- python程序员年薪20万_据说做好这几道考题的python程序员年薪超20万
- js 操作java对象_[Java教程]js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象...
- canvas需要gpu_提高HTML5 canvas性能的几种方法(转)
- ElementUI:设置导航栏选中文字样式
- Node.js:简单的node服务器ajax请求
- LR(1)项目集族的构造:如何确定前向搜索符