AutoGluon-教程1-简单的入门模型

更新时间:2023-05-15 08:02:43 阅读: 评论:0

AutoGluon-教程1-简单的⼊门模型
写在前⾯
安装
⽬前该模块只适⽤于Linux与Mac系统,windows模块正在开发当中。各位想尝鲜的话,可以在windows装wsl,然后利⽤下⾯的语句安装模块
python3 -m pip install -U pip
python3 -m pip install -U tuptools wheel
pkm
python3 -m pip install autogluon
# cpu 版
python3 -m pip install -U "mxnet<2.0.0"
# gpu版
# Here we assume CUDA 10.1 is installed.  You should change the number
# according to your own CUDA version (e.g. mxnet_cu100 for CUDA 10.0).
python3 -m pip install -U "mxnet_cu101<2.0.0"
库功能
其实这个库要完成的任务分成了⼏个教程,分别是表格预测、图像预测、⽬标检测、⽂本预测等,这篇先完成第⼀个教程表格预测
表格预测(Tabular Prediction)
定义:根据个⼈的理解,这个表格预测应该是属于输⼊数据是表格,然后根据这些信息再做相关的机器学习任务。
优点:⽆需数据清洗、特征⼯程、超参优化、模型选择
⽰例1
⽬的:预测⼀个⼈的收⼊是否超出5万美元
导⼊数据,构建对象
# import data
import pandas
import numpy
from autogluon.tabular import TabularDatat, TabularPredictor
train_data = TabularDatat('autogluon./datats/Inc/train.csv')
subsample_size = 500  # subsample subt of data for faster demo, try tting this to much larger values
train_data = train_data.sample(n=subsample_size, random_state=0)
train_data.head()
这边构造的AutoGluon Datat对象,也就是TabularDatat是等同于pandas的data.frame的,所以可以⽤pandas.dataframe的属性来使⽤它,⽐如上⾯说的train_data.head()。同样的,如果你有⾃⼰的数据的话,可以按照下⾯这张图⽚提⽰构造对象
反正万事不决时就查帮助⽂档嘛
label = 'class'
pd.value_counts(train_data[label]) # 或train_data[label].value_counts()
# 上⾯两种⽅式视个⼈习惯
# 看下标签有哪些,以及对应标签的个数
训练模型
save_path = 'agModels-predictClass'  # specifies folder to store trained models
世界最强国家排名
predictor = TabularPredictor(label=label, path=save_path).fit(train_data)
save_path⽤来指定训练模型的⽂件夹
然后直接TabularPredictor进⾏模型构建
上⾯这张图很好玩哈,就是⼤概说明了为什么推断是⼆分类任务,如果不准的话如何修改,还有就是我们现在的可⽤内存是多少
然后。。。哈哈哈,笔记本太垃圾了,还可以⾃动根据内存调整参数
加载测试集并验证
# load test t
test_data = TabularDatat('autogluon./datats/Inc/test.csv')
y_test = test_data[label]  # values to predict
test_data_nolab = test_data.drop(columns=[label])  # delete label column to prove we're not cheating
test_data_nolab.head()
predictor = TabularPredictor.load(save_path)  # unnecessary, just demonstrates how to load previously-trained predictor from file尴尬时刻
# model evalute
y_pred = predictor.predict(test_data_nolab)
print("Predictions:  \n", y_pred)
开方符号perf = predictor.evaluate_predictions(y_true=y_test, y_pred=y_pred, auxiliary_metrics=True)
⼤概就展⽰下测试集的数据概况
然后就是结果了,都是⼀些基本的模型评估指标,没有想到的是同样的数据,同样的代码训练出来的结果竟然会⽐官⽹的好那么⼀点点,可能是因为不同的运⾏环境导致的吧,但差别不⼤,也就差了4个百分点
展⽰所有预训练模型在测试集的效能
predictor.leaderboard(test_data, silent=True)
由分类精度得知,predictor.predict(test_data_nolab)这个时候⽤的是WeighEnmble_L2模型
到⽬前为⽌,训练第⼀个简单模型就完成啦,但是我想看这个模型的具体参数呢,这个就需要后⾯进⾏探索了,我也会发布后续的教程。第⼀次是教程,如有不合理的地⽅,请指出。
展⽰特定分类器的精度
predictor.predict(test_data, model='LightGBM')
额外部分
输出预测概率
pred_probs = predictor.predict_proba(test_data_nolab)
pred_probs.head(5)
拟合过程中发⽣了什么
蒜蓉辣椒酱做法
results = predictor.fit_summary()
更⾼的输出精度
time_limit : 模型训练的最长等待时间,通常不设置
eval_metric: 评估指标,AUC还是精度等学习空乘的学校
prets: 默认为’medium_quality_faster_train’,损失了精度但是速度⽐较快。要是设置为“best_quality”,则会做做bagging和stacking以提⾼性能
time_limit = 60  # for quick demonstration only, you should t this to longest time you are willing to wait (in conds)
metric = 'roc_auc'  # specify your evaluation metric here
predictor = TabularPredictor(label, eval_metric=metric).fit(train_data, time_limit=time_limit, prets='best_quality')导师带徒总结
挺身而出predictor.leaderboard(test_data, silent=True)

本文发布于:2023-05-15 08:02:43,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/638321.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   预测   数据
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图