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章——算法调参相关推荐

  1. 基于Python贝叶斯优化XGBoost算法调参报错“TypeError: ‘float‘ object is not subscriptable”

    基于Python贝叶斯优化XGBoost算法调参运行情况如下: iter target colsam- gamma max_depth min_ch- subsample 1 0.9398 0.804 ...

  2. 基于深度学习的手写数字识别算法Python实现

    摘 要 深度学习是传统机器学习下的一个分支,得益于近些年来计算机硬件计算能力质的飞跃,使得深度学习成为了当下热门之一.手写数字识别更是深度学习入门的经典案例,学习和理解其背后的原理对于深度学习的理解有 ...

  3. 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(四)(Python语言基础(2))

    [神经网络与深度学习-TensorFlow实践]-中国大学MOOC课程(四)(Python语言基础(2)) 第4讲 Python语言基础(2) 4.1 内置数据结构 4.1.1 序列数据结构(sequ ...

  4. 人工神经网络理论、设计及应用_TensorFlow深度学习应用实践:教你如何掌握深度学习模型及应用...

    前言 通过TensorFlow图像处理,全面掌握深度学习模型及应用. 全面深入讲解反馈神经网络和卷积神经网络理论体系. 结合深度学习实际案例的实现,掌握TensorFlow程序设计方法和技巧. 着重深 ...

  5. 零基础入门深度学习(3) - 神经网络和反向传播算法

    无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...

  6. 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(八)(TensorFlow基础))

    [神经网络与深度学习-TensorFlow实践]-中国大学MOOC课程(八)(TensorFlow基础)) 8 TensorFlow基础 8.1 TensorFlow2.0特性 8.1.1 Tenso ...

  7. 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述

    <繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...

  8. 深度学习笔记第二门课 改善深层神经网络 第一周:深度学习的实践层面

    本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...

  9. 2.1)深度学习笔记:深度学习的实践层面

    目录 1)Train/Dev/Test sets 2)Bias/Variance 3)Regularization(重点) 4)Why regularization reduces overfitti ...

  10. 解析深度学习:语音识别实践 (俞栋等著) 完整pdf[44MB]

    AlphaGo与李世石的围棋大战激发了人们对人工智能是非的诸多争论.人工智能背后的工作原理深度学习跳入大众的视野.AlphaGo的大获全胜一定程度展示了深度学习在应用领域的成功,而语音识别正是深度学习 ...

最新文章

  1. FastQC结果解读
  2. linux-压缩与解压缩(gz,zip,tar,jar,war)
  3. 持志助中华 九州初志开创国内集群存储新时代
  4. fatal error C1189: #error : Building MFC application with /MD[d]
  5. Linux之提高Nginx的安全性:受限server_tokens /user_agents/buffer_size/连接数/请求方法/外链/不用模块 使用日志/TLS/HTTPS/升级
  6. Enumerable 下又有新的扩展方法啦,快来一睹为快吧
  7. java全文检索工具_全文检索工具elasticsearch:第三章: Java程序中的应用
  8. App后台开发运维和架构实践学习总结(1)——App后台核心技术之用户验证方案
  9. Elasticsearch 高并发写入优化的开源协同经历 | 技术头条
  10. 使用独立PID namespace防止误杀进程
  11. 编译原理教程_6 LR分析法
  12. 前后端分离项目如何部署_不用Docker前后端分离项目如何快速部署
  13. android usb挂载分析---vold处理内核消息
  14. ModuleNotFoundError: No module named ‘models‘
  15. 手机安装python模块吗_你不知道的Python模块安装教程
  16. 汇编语言简明教程习题答案
  17. python艺术签名_用 Python 制作一个艺术签名小工具,给自己设计一个优雅的签名...
  18. HTML链接会议申请,会议流程.html
  19. 需求调研前的准备工作
  20. 卡耐基人际关系学-第一章 卡耐基应付对手的方法-一 避免伤害的艺术

热门文章

  1. cron每两个小时_crontab 每隔 1 小时 2 小时的执行 job 写法
  2. php 打印 域名ip_php如何获取域名IP地址代码函数
  3. java中面向对象6_Java面向对象
  4. python动态导入类或函数_Python 动态从文件中导入类或函数的方法
  5. python程序员年薪20万_据说做好这几道考题的python程序员年薪超20万
  6. js 操作java对象_[Java教程]js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象...
  7. canvas需要gpu_提高HTML5 canvas性能的几种方法(转)
  8. ElementUI:设置导航栏选中文字样式
  9. Node.js:简单的node服务器ajax请求
  10. LR(1)项目集族的构造:如何确定前向搜索符