AutoGluon: 自动化机器学习框架指南
1. 目录结构及介绍
在克隆了 AutoGluon
的仓库之后,你会看到以下主要的目录和文件:
auto_gluon_tabular
: 这个目录包含了用于处理表格数据的核心AutoGluon库代码。auto_gluon_multimodal
: 提供了一个统一的接口来训练多模态模型,例如同时利用文本、图像和标签数据。auto_gluon_timeseries
: 包括用于时间序列预测的功能性组件。examples
: 展示如何使用AutoGluon的不同功能的实例脚本。docs
: 文档源文件,包括Markdown和Sphinx文档,用于创建在线帮助和API参考。
此外还有一些基本的工程文件如 .gitignore
, LICENSE
, README.md
和 setup.py
。
2. 启动文件介绍
AutoGluon的主要入口点是各子模块中的 __init__.py
文件以及各个 predictor
类。对于表格数据,关键的启动点是 TabularPredictor
;对于多模态数据,则是 MultimodalPredictor
。
使用 TabularPredictor
要使用AutoGluon训练一个表格数据上的模型,通常从导入 TabularPredictor
开始:
from autogluon.tabular import TabularPredictor
然后你可以创建并训练一个 TabularPredictor
实例:
label = 'target' # 标签列的名字
train_data_path = 'path/to/train.csv'
save_path = 'path/to/save/models'
predictor = TabularPredictor(label=label).fit(train_data=train_data_path)
predictor.save(path=save_path)
这个过程涉及加载数据集、定义目标标签、创建并拟合 TabularPredictor
实例,最后保存训练好的模型以便将来进行预测或重新训练。
3. 配置文件介绍
虽然AutoGluon旨在通过最少的参数提供强大的性能,但其高级用户可以定制模型选择、特征工程和其他步骤以满足具体需求。这种定制可以通过修改其内部使用的JSON配置文件或通过Python API传递选项来完成。
例如,如果你想指定特定的算法作为候选者,或者调整超参数搜索策略,可以像这样做:
hyperparameters = {'GBM': {}, 'NN': {}}
hyperparameter_tune_kwargs = {'num_trials': 10}
predictor.fit(
train_data,
hyperparameters=hyperparameters,
hyperparameter_tune_kwargs=hyperparameter_tune_kwargs,
)
在这个例子中,hyperparameters
字典指定了要尝试的模型类型(这里是梯度提升机和神经网络),而 hyperparameter_tune_kwargs
控制自动调参过程中试验的数量。
总体而言,AutoGluon的设计理念是在不牺牲灵活性的情况下简化自动化机器学习流程。它的配置机制允许用户轻松调整各种训练阶段的细节,从而达到在不同任务上优化性能的目的。
请注意,以上教程涵盖了入门级到进阶级的使用方法,涵盖了从安装到基础的预测工作流,再到更详细的配置控制。希望这能够帮助新手快速了解AutoGluon的核心功能,同时也为有经验的用户提供额外的自定义选项。