首先按照NNI框架的要求写一个调参的代码文件my_rf.py

import nni
from sklearn.model_selection import train_test_split
import logging
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classificationLOG = logging.getLogger('sklearn_classification')def load_data():  # 加载生成的数据gen_x, gen_y = make_classification(n_samples=10000, n_informative=10, n_classes=5)x_train, x_test, y_train, y_test = train_test_split(gen_x, gen_y, random_state=0, test_size=.25)return x_train, x_test, y_train, y_testdef get_model(PARAMS):'''Get model according to parameters'''model = RandomForestClassifier()model.n_estimators = PARAMS.get('n_estimators')model.min_samples_split = PARAMS.get('min_samples_split')return modeldef run(X_train, X_test, y_train, y_test, model):'''Train model and predict result'''model.fit(X_train, y_train)score = model.score(X_test, y_test)LOG.debug('score: %s', score)nni.report_final_result(score)if __name__ == '__main__':X_train, X_test, y_train, y_test = load_data()try:# get parameters from tunerRECEIVED_PARAMS = nni.get_next_parameter()LOG.debug(RECEIVED_PARAMS)PARAMS = {'n_estimators': 10,'min_samples_split': 10,}PARAMS.update(RECEIVED_PARAMS)LOG.debug(PARAMS)model = get_model(PARAMS)run(X_train, X_test, y_train, y_test, model)except Exception as exception:LOG.exception(exception)

然后使用python去启动它:

  • 原本需要写的search_space.json就直接写在代码中
  • 运行环境config.yml文件中的配置就也直接写在代码中

由此得到的python代码是:

from nni.experiment import Experimentsearch_space = {"n_estimators": {"_type": "randint", "_value": [10, 250]},"min_samples_split": {"_type": "randint", "_value": [2, 25]}
} # 这里配置调参的范围experiment = Experiment('local')
experiment.config.experiment_name = 'my rf example'
experiment.config.trial_concurrency = 2  # 同时进行的数量
experiment.config.max_trial_number = 10  # 最大案例
experiment.config.search_space = search_space
experiment.config.trial_command = 'python my_rf.py'
# experiment.config.trial_code_directory = Path(__file__).parent
experiment.config.tuner.name = 'TPE'
experiment.config.tuner.class_args['optimize_mode'] = 'maximize'
experiment.config.training_service.use_active_gpu = Trueexperiment.run(port=12345) # 本地的端口
experiment.get_status()
experiment.export_data()
experiment.get_job_metrics()

更多使用python启动NNI的细节设置可以参考:https://nni.readthedocs.io/en/stable/Tutorial/HowToLaunchFromPython.html

自动化调参NNI学习(三):使用python启动NNI框架调整随机森林(RandomForest)模型相关推荐

  1. Python数据挖掘项目:构建随机森林算法模型预测分析泰坦尼克号幸存者数据

    作者CSDN:进击的西西弗斯 本文链接:https://blog.csdn.net/qq_42216093/article/details/120196972 版权声明:本文为作者原创文章,未经作者同 ...

  2. 机器学习狗太苦逼了!自动化调参哪家强?

    机器学习狗太苦逼了!自动化调参哪家强? https://mp.weixin.qq.com/s/gqN0fDIJBoxyAxYaC2dI-w 作者|Facundo Santiago译者|李志编辑|Deb ...

  3. 云计算Python自动化运维开发实战 三、python文件类型

    为什么80%的码农都做不了架构师?>>>    云计算Python自动化运维开发实战 三.python文件类型 导语: python常用的有3种文件类型 1. 源代码     py ...

  4. python爬虫正则表达式实例-python爬虫学习三:python正则表达式

    python爬虫学习三:python正则表达式 1.正则表达式基础 a.正则表达式的大致匹配过程: 1.依次拿出表达式和文本中的字符比较 2.如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符 ...

  5. 数学建模_随机森林分类模型详解Python代码

    数学建模_随机森林分类模型详解Python代码 随机森林需要调整的参数有: (1) 决策树的个数 (2) 特征属性的个数 (3) 递归次数(即决策树的深度)''' from numpy import ...

  6. 集成学习、Bagging算法、Bagging+Pasting、随机森林、极端随机树集成(Extra-trees)、特征重要度、包外评估

    集成学习.Bagging算法.Bagging+Pasting.随机森林.极端随机树集成(Extra-trees).特征重要度.包外评估 目录

  7. Python电影观众数量回归分析 随机森林 可视化 实验报告

    实验代码:Python电影观众数量回归分析随机森林可视化-数据挖掘文档类资源-CSDN文库 前言 随着经济的发展和人民日益增长的美好生活需要的显著提升,看电影成为了人民群众在闲暇时光娱乐的重要途径.面 ...

  8. Python实现GWO智能灰狼优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 灰狼优化算法(GWO),由澳大利亚格里菲斯大学学者 Mirjal ...

  9. Python实现贝叶斯优化器(Bayes_opt)优化随机森林回归模型(RandomForestRegressor算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 贝叶斯优化器 (BayesianOptimization) 是一 ...

最新文章

  1. 计图(Jittor) 1.1版本:新增骨干网络、JIT功能升级、支持多卡训练
  2. 常用的Windows批处理
  3. 数据库持久层封装设计
  4. .NET CORE迁移踩坑
  5. 不完全恢复分类与命令
  6. 第一周 从C走进C++ 002 命令行参数
  7. 自拍抠图抠到手软?详解如何用深度学习消除背景
  8. 小学网上报名显示网上服务器错误,网上申请了小学学位 区教育局找不到信息...
  9. c语言编程 碰撞的小球,小球碰撞游戏程序代码,求注释,越详细越好》》》
  10. html右侧客服代码,非常好看的jQuery网站右侧固定在线客服代码
  11. 三菱FX2N系列PLC的模拟量扩展模块简介
  12. 台式计算机连接wifi适配器遇到问题,台式机连接wifi不稳定怎么办_台式电脑接wifi会不稳定解决方法-win7之家...
  13. IDL(ENVI/IDL) 简(jian)明(lou)教程:一、IDL基础
  14. 数字信号处理 --- 用离散傅里叶变换(循环卷积)实现线性卷积(个人学习笔记)
  15. 【CV】图像融合结果评价
  16. 高通骁龙845的android手机有哪些,屠榜小能手高通骁龙845,7月份Android手机TOP10 一个没放过-消费电子-与非网...
  17. 记录基于MXCube,使用STM32F103RCT6 ADC多通道采集 的学习经验
  18. 篇三:Jmeter察看结果树与保存
  19. CS-信息系统建设和服务能力评估体系
  20. 新零售风口下品牌方如何玩转线下媒体,这四个维度或许告诉你答案

热门文章

  1. Forward Plus Rendering
  2. java 内置web服务器_Webstorm 2016内置web服务器配置
  3. jupyter怎么调字体_夏天冰箱调到几档最好 冷藏调多少度合适
  4. 判断用户 小程序_【重要声明】小程序维护中,iphone用户手机暂时用不了小程序...
  5. 计算机软件职业资格证书查询,电子社保卡可查询职业资格证书啦!
  6. mssql mysql数据库大小_mssql查看数据库大小
  7. 数据中心智能化运维之路
  8. VMware Q1交出满意答卷,全年收入看涨
  9. ext4 关闭延迟分配
  10. 简单谈谈select, iocp, epoll,kqueue及各种I/O复用机制