AutoML入门:AutoGluon

AutoML简单介绍

human expert负责:
problem definition 和 data
AutoML负责:
Feature Model Optimization Evaluation Deployment
优点:
减少专家知识依赖
缩短AI应用投产时间
标准化建模流程,模块化发展业务
适应业务发展
流程:
按模型类型划分, AutoML可以被分为传统机器学习和针对深度学习的NAS(neural architecture search)。传统机器学习模型的自动化学习包含基础特征工程,算法选择以及机器学习pipeline等合成。针对深度学习的NAS,被视作一种自动设计神经网络的技术。通过NAS,根据样本集设计出高性能兼具准确率的网络结构。在某些特定任务上,可以媲美人类专家水平,甚至是发现未曾提出的网络架构。

流行AutoML框架

  • AutoGluon:AWS开发,文本图像和表格数据
  • TPOP:基于树的管道优化工具,遗传编程探索管道,不执行预处理,不适用于NLP
  • H2OAutoML:传统神经网络和机器学习模型,预训练模型选择和超参数调整,需要java环境
  • Autosklearn:基于贝叶斯优化,元学习和集成构建,仅支持基于sklearn的模型,不适用于图形模型和序列预测问题
  • MLBox
  • AutoWEKA
  • AutoPytorch
  • AutoKeras
  • MLJAR

Autogluon的内部模型和缩写

autogluon加入的稳定模型:

‘GBM’ (LightGBM)
‘CAT’ (CatBoost)
‘XGB’ (XGBoost)
‘RF’ (random forest)
‘XT’ (extremely randomized trees)
‘KNN’ (k-nearest neighbors)
‘LR’ (linear regression)
‘NN_MXNET’ (neural network implemented in MXNet)
‘NN_TORCH’ (neural network implemented in Pytorch)
‘FASTAI’ (neural network with FastAI backend)

初级代码(表格在这里插入代码片多分类任务)

从磁盘读入数据
from autogluon.tabular import TabularDataset, TabularPredictor
data_root1 = 'H:/'
train_data1 = TabularDataset(data_root1 + 'train.csv')#含有label
test_data1 = TabularDataset(data_root1 + 'test.csv')#不含label
分割训练集与测试集
from sklearn.model_selection import train_test_split
x_train,x_test=train_test_split(train_data1,train_size=0.8,stratify=train_data1["label"])
训练分类器模型
save_path="agmodel-opti"
predictor1 = TabularPredictor(label='label',path=save_path,eval_metric="accuracy").fit(x_train, time_limit=120,presets='best_quality')  # Fit models for 120s

eval_metric是内部使用的评价指标是accuracy,还可以用roc
presets='best_quality’会用到stack和bag优化

直接导入分类器模型
predictor1 = TabularPredictor.load("agmodel-opti-accu") 
测试集输出内部模型效果
leaderboard1 = predictor1.leaderboard(x_test)
print(learderboard1)
输出不带label测试集的结果
y_pred = predictor1.predict(test_data1)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值