版本 0.7.0

我们很高兴宣布 AutoGluon 0.7 版本发布。此版本包含一个新的用于探索性数据分析的实验模块 autogluon.eda。AutoGluon 0.7 提供对 conda-forge 的支持,增强了 Tabular、MultiModal 和 Time Series 模块,并进行了许多用户体验改进和修复。

与往常一样,只能使用训练模型时所用的 AutoGluon 版本来加载之前训练好的模型。不支持加载在不同 AutoGluon 版本中训练的模型。

此版本包含 170 次提交,来自 19 位贡献者

在此查看完整的提交变更日志:https://github.com/autogluon/autogluon/compare/v0.6.2…v0.7.0

特别感谢 @MountPOTATO,他是本次发布中首次为 AutoGluon 做出贡献的贡献者!

完整贡献者列表(按提交次数排序)

@Innixma, @zhiqiangdon, @yinweisu, @gradientsky, @shchur, @sxjscience, @FANGAreNotGnu, @yongxinw, @cheungdaven, @liangfu, @tonyhoo, @bryanyzhu, @suzhoum, @canerturkmen, @giswqs, @gidler, @yzhliu, @Linuxdex@MountPOTATO

AutoGluon 0.7 支持 Python 3.8、3.9 和 3.10 版本。从本版本开始不再支持 Python 3.7。

变更

新增:AutoGluon 可通过 conda-forge 获取

截至 AutoGluon 0.7 版本发布,AutoGluon 现在已在 conda-forge (#612) 上可用!

感谢以下人员促成此事

新增:autogluon.eda(探索性数据分析)

我们很高兴发布 AutoGluon 探索性数据分析(EDA)工具包。从 v0.7 开始,AutoGluon 现在可以分析和可视化数据和模型的不同方面。我们邀请您探索以下教程:快速拟合数据集概览目标变量分析协变量偏移分析。其他材料可以在网站的EDA 部分找到。

通用

  • 添加了 Python 3.10 支持。 @Innixma (#2721)

  • 放弃了 Python 3.7 支持。 @Innixma (#2722)

  • 移除了 daskdistributed 依赖项。 @Innixma (#2691)

  • 移除了 autogluon.textautogluon.vision 模块。我们建议将来使用 autogluon.multimodal 处理文本和视觉任务。

AutoMM

AutoGluon MultiModal(又称 AutoMM)支持三个新功能:1) 文档分类;2) 中文命名实体识别;3) 使用 SVM 进行少样本学习

同时,我们移除了 autogluon.textautogluon.vision,因为这些功能已在 autogluon.multimodal 中得到支持

新功能

  • 文档分类

    • 添加了扫描文档分类(实验性功能)。

    • 客户只需几行代码即可训练扫描文档分类模型

    • 查看教程

    • 贡献者和提交:@cheungdaven (#2765, #2826, #2833, #2928)

  • 中文 NER

  • 使用 SVM 进行少样本学习

    • 通过添加 SVM 支持改进了少样本学习

    • 查看教程

    • 贡献者和提交:@yongxinw (#2850)

其他增强功能

Bug 修复 / 代码和文档改进

弃用

Tabular

  1. TabularPredictor 的推理速度已得到极大优化,实时推理平均提速 250%。这意味着当使用 infer_limit 时,TabularPredictor 可以在许多数据集上满足 <10 毫秒的端到端延迟,并且 high_quality 预设默认可以在许多数据集上满足 <100 毫秒的端到端延迟。

  2. TabularPredictor 的 "multimodal" 超参数预设现在利用了 MultiModalPredictor 的全部功能,从而在包含表格数据、图像和文本特征混合的数据集上获得了更强的性能。

性能改进

  • 升级了所有依赖包版本,以使用最新版本。 @Innixma (#2823, #2829, #2834, #2887, #2915)

  • 通过移除 TorchThreadManager 上下文切换,将集成推理速度提升了 150%。 @liangfu (#2472)

  • 在具有许多特征的数据集上,FastAI 神经网络推理速度提高了 100 倍以上,训练速度提高了 10 倍。 @Innixma (#2909)

  • (来自 0.6.1)避免不必要的数据框复制,将特征预处理速度提高了 25%。 @liangfu (#2532)

  • (来自 0.6.1)重构 NN_TORCH 模型使其可迭代数据集,推理速度提高了 100%。 @liangfu (#2395)

  • TabularPredictor.fit 传入 hyperparameters="multimodal" 时,MultiModalPredictor 现在被用作集成模型的一部分。 @Innixma (#2890)

API 增强功能

  • TabularPredictor 添加了 predict_multipredict_proba_multi 方法,以高效地从多个模型获取预测结果。 @Innixma (#2727)

  • 在禁用评分时,允许在 leaderboard 调用中不包含标签列。 @Innixma (#2912)

弃用

  • 当调用 predict_probaproblem_type="regression" 时,添加了弃用警告。这将在未来的版本中引发异常。 @Innixma (#2684)

Bug 修复 / 文档改进

  • 修复了 NN_TORCH 模型中 time_limit 估计不准确的问题。 @Innixma (#2909)

  • 修复了仅使用文本特征进行拟合时出错的问题。 @Innixma (#2705)

  • 修复了在 TabularPredictor.fit 中当 calibrate=True, use_bag_holdout=True 时出错的问题。 @Innixma (#2715)

  • 修复了使用 RandomForest / ExtraTrees 模型调整 n_estimators 时出错的问题。 @Innixma (#2735)

  • 修复了在安装可选依赖 skl2onnx 时 Linux/MacOS 上缺少 onnxruntime 依赖的问题。 @liangfu (#2923)

  • 修复了 Windows 上边缘情况下的 RandomForest 错误。 @yinweisu (#2851)

  • refit_full 添加了改进的日志记录。 @Innixma (#2913)

  • 在部署教程中添加了 compile_models@liangfu (#2717)

  • 各种内部代码重构。 @Innixma (#2744, #2887)

  • 各种文档和日志改进。 @Innixma (#2668)

autogluon.timeseries

新功能

  • TimeSeriesPredictor 现在支持历史协变量(也称为动态特征或与要预测的时间步未知相关的时序)。 @shchur (#2665, #2680)

  • TimeSeriesPredictor 中引入了来自 StatsForecast 的新模型,用于各种预设(medium_qualityhigh_qualitybest_quality)。 @shchur (#2758)

  • 支持 TimeSeriesDataFrame 的缺失值填充,允许用户自定义缺失值的填充逻辑,并填充不规则采样时间序列中的空白。 @shchur (#2781)

  • 使用经验噪声分布改进 AutoGluon-Tabular 预测器的分位数预测性能。 @shchur (#2740)

Bug 修复 / 文档改进