捡起记Blog的习惯
学习视频链接跟李沐学AI
Automl:自动对数据抽取特征并进行模型训练。大部分automl框架是基于超参数搜索技术。Autogluon则依赖于融合多个无需超参数搜索的模型。
AutoGluon技术:
fit(..., num_bag_folds=3)
指3则交叉baggingfit(..., num_stack_levels=1, num_bag_folds=3)
表示额外使用一层bagging,同时每个模型使用三则交叉bagging。在已有conda环境基础下terminal直接运行pip install autogluon
使用官网实例在jupyter上测试:
数据集获取(或者直接从官网下载)
# 安装数据集所需的包
pip install kaggle
# 下载数据集
kaggle c download titanic
unzip -o titanic.zip
首次使用需要配置kaggle秘钥配置方式
from autogluon.tabular import TabularDataset, TabularPredictor
# 训练
train_data = TabularDataset('train.csv')
id, label = 'PassengerId', 'Survived'
predictor = TabularPredictor(label=label).fit(train_data.drop(columns=[id]))
import pandas as pd
# 预测
test_data = TabularDataset('test.csv')
preds = predictor.predict(test_data.drop(columns=[id]))
submission = pd.DataFrame({id: test_data[id], label: preds})
submission.to_csv('submission.csv', index=False)
# 排名第5 cpu需训练2h
from autogluon.tabular import TabularDataset, TabularPredictor
import numpy as np
train_data = TabularDataset('train.csv')
id, label = 'Id', 'Sold Price'
# 数据预处理
large_val_cols = ['Lot', 'Total interior livable area', 'Tax assedssed value',
'Annual tax amount', 'Listed Price', 'Last Sold Price']
for c in large_val_cols + [label]:
train_data[c] = np.log(train_data[c] + 1)
predictor = TabularPredictor(label=label).fit(train_data.drop(columns=[id]))
# 排名第1 需要gpu训练
predictor = TabularPredictor(label=label).fit(
train_data.drop(columns=[id]),
hyperparameters='multimodal',
num_stack_levels=1, num_bag_folds=5
)