# -*- coding: utf-8 -*-
"""算法调参.ipynbAutomatically generated by Colaboratory.Original file is located athttps://colab.research.google.com/drive/1kILamn8ac8vii9GUkiWowl8TIFwl2MCv### 超参数优化这是机器学习模型解决问题的最后一个步骤,并不是整个解决方案的最后一步。不会调参就不能说会机器学习。参数分为了两种:- 影响模型在训练集上的准确度,防止模型过拟合的参数
- 与准确度和过拟合无关的参数其中调参调的是第一类参数。这里介绍两类算法:- 网格搜索
- 随机搜索#### 网格搜索通过遍历已定义的参数列表,来评估算法的参数,从而找到最优参数。使用方法是`GridSearchCV`,实现对参数的跟踪,调整和评估,最终找到最优参数。**网格搜索适用于三四个超参数或者更少的情况,否则计算量会非常大,此时要转成随机搜索。**
"""# 网格搜索代码from pandas import read_csv
from sklearn.linear_model import Ridge
from sklearn.model_selection import GridSearchCV# 导入数据
filename = 'http://ftp.ics.uci.edu/pub/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data'
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('最优参数:%s' % grid.best_estimator_.alpha)"""其中,`param_grid`是 一个字典对象,算法需要的参数名是`key`,需要遍历的参数值列表为`value`。可以设定多个`key-value`对,同时查询多个最优参数值。### 随机搜索优化这个需要牵涉到随机的方法,即采样的方法。
"""from pandas import read_csv
from sklearn.linear_model import Ridge
from sklearn.model_selection import RandomizedSearchCV
from scipy.stats import uniform# 导入数据
filename = 'http://ftp.ics.uci.edu/pub/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data'
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('最优参数:%s' % grid.best_estimator_.alpha)

END.

参考:

《机器学习Python实践》

【机器学习】算法调参相关推荐

  1. 机器学习算法调参神器之1:学习曲线

    在Python中重要的机器学习库scikit-learn的算法模型应用中涉及各类关键参数,那么,如果选择及调整这些参数才能优化模型运行结果呢?下面介绍一下机器学习算法中常用的调参神器之一的:学习曲线. ...

  2. 使用Hyperopt实现机器学习自动调参

    文章目录 机器学习自动调参 1. Hyperopt **Hyperopt搜索参数空间** 参数空间的设置 使用sample函数从参数空间内采样: 在参数空间内使用函数: **指定搜索的算法** 实例 ...

  3. boosting算法调参

    算法调参 参考:XGBoost  https://blog.csdn.net/han_xiaoyang/article/details/52665396 GBM  https://blog.csdn. ...

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

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

  5. 机器学习模型调参指南(附代码)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 导读 ML工作流中最困难的部分之一是为模型找到最好的超参数.ML模 ...

  6. 深度强化学习算法调参

    深度强化学习调参技巧:以D3QN.TD3.PPO.SAC算法为例 这个参考链接. 如何选择深度强化学习算法? 参考链接. 影响PPO算法性能的10个关键技巧(附PPO算法简洁Pytorch实现) 主要 ...

  7. 随机森林调参_机器学习-模型调参利器 gridSearchCV(网格搜索)

    在机器学习模型中,需要人工选择的参数称为超参数.比如随机森林中决策树的个数,人工神经网络模型中隐藏层层数和每层的节点个数,正则项中常数大小等等,他们都需要事先指定.超参数选择不恰当,就会出现欠拟合或者 ...

  8. 几种机器学习常用调参方式对比(网格搜索,随机搜索,贝叶斯优化)

    网格搜索(GridSearchCV): grid search就是穷举,穷举所有得超参组合 Ex:当对决策树调参,若只对一个超参优化,如树的最大深度,尝试[3,5,7],则可表示为 若还想对分裂标准进 ...

  9. 漫谈机器学习的【泛化能力】【模型能力】【调参技巧】_CodingPark编程公园

    漫谈机器学习 完成第一幅初稿 完成终稿 1945年12月5日 1946年1月17日 前言 上面的画就是20世纪最著名的抽象派画家毕加索于1946年1月17日完稿的画作--公牛,寥寥几笔,勾勒出公牛的& ...

最新文章

  1. Android伍什小随笔(二)- 更新中
  2. vm15 安装 mac虚拟机的过程 转载的
  3. HIPS 自定义框架
  4. 刷新table数据_关于数据透视表的刷新功能最值得了解的几个操作
  5. OpenShift 4 Hands-on Lab (10) 限制集群资源的使用量
  6. linux下性能测试mon,Linux性能评测工具之一:nmon篇
  7. 超火的漫画线稿上色AI出新版了!无监督训练,效果更美好 | 代码+Demo
  8. partition by 和 group by
  9. linux目录常用命令
  10. Java自动化测试系列[v1.0.1][ZTestReport测试报告]
  11. 颜色的前世今生6·色相环
  12. k8s笔记20--基于 K8S 的 cicd 概述
  13. 思科2960交换机 - 配置命令大全
  14. linux 编辑文件乱码,Linux中vi编辑器显示中文乱码的问题
  15. 旋转矩阵、欧拉角、旋转矢量及四元数的介绍和工程应用
  16. 2022-05-14 Unity核心7——2D动画
  17. 安卓设置keychain_iOS 开发keychain 使用与多个APP之间共享keychain数据的使用
  18. 计算机四年级上册语文教案,人教版四年级上册语文教案
  19. linux查看license情况,检查SCL服务状态和License使用情况
  20. ”未获得合适的许可,你可能是盗版软件的受害者相关解决办法“

热门文章

  1. 数据结构上机实践第14周项目1 - 验证算法(折半查找)
  2. Linux常见问题三则:Executable Path Is Not Absolute
  3. SCI论文编辑教你如何准备SCI论文和写作
  4. android java 同步_Android 中的同步
  5. 爬去图片插件_学不会你打我,一个插件爬取亚马逊数据!
  6. cpan安装_生信平台搭建(五):安装perl模块
  7. 江苏省计算机考试昨晚客观题不能提交,2019法考江苏3.6万人报名 主客观题均推行机考...
  8. java 拖放文字_Java实现拖放效果
  9. java线程间通信 实例_JAVA-初步认识-第十四章-线程间通信-示例
  10. github ssh 配置_搭建自己的技术博客系列 2:把 Hexo 博客部署到 GitHub 上