加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网_黄海网 (https://www.huanghaiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

用开源项目AutoXGB助力AutoML开创

发布时间:2022-07-03 17:50:39 所属栏目:云计算 来源:互联网
导读:自动机器学习(AutoML)能够自动运行各种机器学习过程,并优化错误度量以生成最佳模型。这些过程包括数据预处理、编码、缩放、优化超参数、模型训练、生成制品和结果列表。自动化机器学习过程可以快速开发人工智能解决方案,让用户体验变得友好,并通常以低代
  自动机器学习(AutoML)能够自动运行各种机器学习过程,并优化错误度量以生成最佳模型。这些过程包括数据预处理、编码、缩放、优化超参数、模型训练、生成制品和结果列表。自动化机器学习过程可以快速开发人工智能解决方案,让用户体验变得友好,并通常以低代码即可生成准确结果。
 
  目前市场上流行的一些著名AutoML库包括:
 
  LightAutoMLMLJarEvalMLFLAMLPyCaretAutoGluonH2O 3
 
  在这篇教程中,我们将使用美国1994年人口普查时的收入数据来预测一个人的年收入是否超过5万美元。这是一个经典的二分类问题,我们将在CC0公共域许可下使用Kaggle成人普查收入数据集进行预测。该数据由美国硅图公司(SGI,Silicon Graphics)数据挖掘和可视化部门的罗尼·克哈伊(Ronny Kohavi)和巴里·贝克尔(Barry Becker)从美国1994年人口普查局数据库中提供。但是,我们这里不去深入研究数据分析或模型工作方式,只是仅用几行代码来构建一个优化的机器学习模型,并使用FastAPI服务器对该模型进行访问。
 
  AutoXGB项目简介
 
  AutoXGB是一个开源、简单、有效的AutoML辅助开发工具,可以直接从CSV文件中训练模型表格数据集。AutoXGB使用XGBoost(优化的分布式梯度增强库)来训练模型,使用Optuna(为机器学习、深度学习特别设计的自动超参数优化框架)进行超参数优化,并使用基于Python的FastAPI框架并以API的形式提供模型推理。
 
  下面让我们从安装AutoXGB开始介绍。如果在运行服务器时遇到错误,请确保预先已正确安装了FastAPI框架和unvicorn服务器程序。安装AutoXGB的命令如下:
 
  pip install autoxgb初始化
 
  接下来,我们将深入介绍AutoXGB函数的特征,以及如何使用与之相关的各项参数来改进计算结果或减少训练时间。AutoXGB函数的各项参数含义说明如下:
 
  features:如果未指定该参数值, 除去id、targets和kfold列外的所有列都会被使用。指定值方式例如:
 
  1.features = ["col1", "col2"]
 
  categorical_features:如果未指定该参数值,将自动推断分类列。指定值方式例如:
 
  1.categorical_features = ["col1", "col2"]
 
  use_gpu:如果未指定该参数值,将不启用GPU计算功能。指定值方式例如:
 
  1.use_gpu = True
 
  2.use_gpu = False
 
  num_folds:用来进行交叉验证的折(fold)的个数。seed:随机种子的重复性。num_trials:运行的Optuna试验次数;默认值为1000。time_limit:以秒计量的optuna试验时限。
 
  1.如果未指定,将运行所有试验。此时(默认)有time_limit = None。
 
  fast:如果fast参数值设置为True,超参数调整将只使用一次,从而减少优化时间。之后,将在折(fold)的其余部分进行训练,并生成OOF和测试预测。
 
  在我们的测试项目中,除了参数train_filename、output、target、num_folds、seed、num_trails和time_limit之外,我们将大多数参数的值设置为默认值。项目中各参数的完整设置情况,如下所示:
 
  from autoxgb import AutoXGBtrain_filename = "binary_classification.csv"output = "output"test_filename = Nonetask = Noneidx = Nonetargets = ["income"]features = Nonecategorical_features = Noneuse_gpu = Falsenum_folds = 5seed = 42num_trials = 100time_limit = 360fast = False训练与优化
 
  现在,我们可以使用AutoXGB函数定义模型,并将之前定义的参数添加到模型中。最后,我们将调用axgb.train()函数开始训练过程。此时,将运行XGBoost和Optuna,并输出各种制品(包括模型、预测、结果、配置、参数、编码器等)。

(编辑:天瑞地安资讯网_黄海网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!