机器学习集市
项目描述
麻省理工学院数据到人工智能实验室的开源项目。
AutoBazaar
- 许可协议: MIT
- 开发状态: 预-Alpha
- 文档: https://HDI-Project.github.io/AutoBazaar/
- 主页: https://github.com/HDI-Project/AutoBazaar
- 论文: https://arxiv.org/pdf/1905.08942.pdf
概述
AutoBazaar 是使用 The Machine Learning Bazaar 创建的 AutoML 系统,该系统是麻省理工学院数据到AI实验室的一个研究和框架,用于构建 ML 和 AutoML 系统。更多参考资料请见 下方。
它以 Python 库的形式存在,可以直接在任何其他 Python 项目中使用,同时还有一个 CLI,允许您直接从命令行搜索用于解决问题的流水线。
安装
要求
AutoBazaar 已在 Python 3.5、3.6 和 3.7 上开发和测试
此外,尽管并非强制要求,但强烈建议使用 virtualenv,以避免干扰运行 AutoBazaar 的系统上安装的其他软件。
使用 pip 安装
安装 AutoBazaar 最简单、推荐的方式是使用 pip
pip install autobazaar
这将从 PyPI 拉取并安装最新稳定版本。
如果您想从源代码安装或为项目做出贡献,请阅读 贡献指南。
数据格式
AutoBazaar 与 D3M Schema 格式 的数据集一起工作。
这个数据集架构由麻省理工学院林肯实验室为美国国防部高级研究计划局(DARPA)的数据驱动模型发现(D3M)项目开发,要求数据以可读性强的格式(如 CSV 文件或 JPG 图像)存在,并设置在一个文件夹层次结构中,旁边是一些 JSON 格式的元数据规范,这些规范包括有关所有数据的详细信息以及我们试图解决的问题。
有关架构和如何将您的数据格式化为符合它的详细说明,请参阅 架构文档。
例如,您可以浏览一些包含在本存储库中的用于演示目的的数据集
- 185_baseball:单表回归
- 196_autoMpg:单表分类
快速入门
在这个简短的教程中,我们将引导您完成一系列步骤,帮助您使用 CLI 命令 abz
开始使用 AutoBazaar。
有关其使用方法和可用选项的更多详细信息,请执行命令行中的 abz --help
。
1. 准备您的数据
确保您的数据已准备好,按照上面解释的 数据格式,在文件系统中直接可访问的未压缩文件夹内。
为了检查您的数据集是否可用并准备好使用,您可以在命令行中执行带有 list
子命令的 abz
命令。如果您的数据集不在当前工作目录中名为 data
的文件夹内,请务必在您的命令中添加 -i
参数,以指示包含数据集的文件夹路径。
假设数据位于当前文件夹中名为 input
的文件夹内,您可以运行
$ abz list -i /path/to/your/datasets/folder
输出应该是一个表格,其中包含指示目录中所有找到的数据集的详细信息
data_modality task_type task_subtype metric size_human train_samples
dataset
185_baseball single_table classification multi_class f1Macro 148K 1073
196_autoMpg single_table regression univariate meanSquaredError 32K 298
30_personae text classification binary f1 1,4M 116
32_wikiqa multi_table classification binary f1 4,9M 23406
60_jester single_table collaborative_filtering meanAbsoluteError 44M 880719
注意:如果您看到一条错误信息,表明 No matching datasets found
(未找到匹配的数据集),请检查您的数据集格式并确保已指示正确的路径。
在接下来的快速入门中,我们将使用存储库中 input 文件夹 内的 185_baseball
数据集。
2. 开始搜索过程
一旦数据准备就绪,您可以使用abz search
命令开始AutoBazaar搜索过程。为此,您需要再次提供数据集所在路径以及要处理的数据集名称。
例如,如果您想搜索最佳
$ abz search -i /path/to/your/datasets/folder name_of_your_dataset
这将评估默认的流水线,而不对其进行额外的调整迭代。
为了启动实际的调整过程,您至少需要提供以下附加选项之一
-b, --budget
:执行的最大调整迭代次数。-t, --timeout
:系统运行的最大时间,单位为秒。-c, --checkpoints
:逗号分隔的字符串,包含不同检查点,其中必须存储迄今为止找到的最佳流水线,并对其测试数据集进行评估。检查点时间之间不能有空格。例如,为了每10分钟存储最佳流水线,直到30分钟过去,您将使用以下选项-c 600,1200,1800
。
例如,为了在30秒内搜索处理185_baseball
数据集,每10秒评估最佳流水线,但最大调整迭代次数为10,我们将使用以下命令
abz search 185_baseball -c10,20,30 -b10
有关可用选项的更多详细信息,请在您的终端中执行abz search --help
。
3. 探索结果
一旦AutoBazaar完成了最佳流水线的搜索,将在stdout中打印一个表格,总结每个数据集找到的最佳流水线。如果提供了多个检查点,还将包括每个检查点中最佳流水线的详细信息。
输出将类似于以下表格
pipeline score rank cv_score metric data_modality task_type task_subtype elapsed iterations load_time trivial_time fit_time cv_time error step
dataset
185_baseball fce28425-e45c-4620-9d3c-d329b8684bea 0.316961 0.682957 0.317043 f1Macro single_table classification multi_class 10.024457 0.0 0.011041 0.026212 NaN NaN None None
185_baseball f7428924-79ee-439d-bc32-998a9efea619 0.675132 0.390927 0.609073 f1Macro single_table classification multi_class 21.412262 1.0 0.011041 0.026212 9.99484 NaN None None
185_baseball 397780a5-6bf6-48c9-9a85-06b0d08c5a9d 0.675132 0.357361 0.642639 f1Macro single_table classification multi_class 31.712946 2.0 0.011041 0.026212 9.99484 12.618179 None None
或者,可以通过传递带有CSV文件名称的-r
选项,将结果存储在该文件中。
abz search 185_baseball -c10,20,30 -b10 -r results.csv
接下来是什么?
有关AutoBazaar及其所有可能性和功能的更多详细信息,请访问项目文档网站!
致谢
AutoBazaar是由MIT数据到AI实验室的一个开源项目,由以下团队构建
- Micah Smith micahs@mit.edu
- Carles Sala csala@mit.edu
- Max Kanter max.kanter@featurelabs.com
- Kalyan Veeramachaneni kalyanv@mit.edu
引用AutoBazaar
如果您在研究中使用了AutoBazaar,请考虑引用以下论文(《https://arxiv.org/pdf/1905.08942.pdf》)
@article{smith2019mlbazaar,
author = {Smith, Micah J. and Sala, Carles and Kanter, James Max and Veeramachaneni, Kalyan},
title = {The Machine Learning Bazaar: Harnessing the ML Ecosystem for Effective System Development},
journal = {arXiv e-prints},
year = {2019},
eid = {arXiv:1905.08942},
pages = {arxiv:1904.09535},
archivePrefix = {arXiv},
eprint = {1905.08942},
}
历史
0.2.1 - 2020-06-22
此版本整理了一些依赖关系,并更新了示例数据集和文档。
0.2.0 - 2019-11-26
第二个版本
- 改进的CLI界面
- 改进的数据集支持
- 新的Docker镜像
- 更新的依赖关系
这是用于生成第三版《机器学习集市论文》中解释的结果的版本。
0.1.0 - 2019-06-24
第一个版本。
这是用于生成第一版《机器学习集市论文》中解释的结果的软件的略微清理版本。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
autobazaar-0.2.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 32397e2fc85885c9b6b97804b43b67cc1fa2203036c9ef607e0f61b78d722d23 |
|
MD5 | be954780c93927ca61856be543a42c3f |
|
BLAKE2b-256 | 027a84cf716fa0712e9e2858930e2e30077069de824d75ec5df4aceec036d2d8 |
autobazaar-0.2.1-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2e2999148f0be008eb72a1906e1ad18b5404b58077e0d8eae82fbf0712a7f748 |
|
MD5 | b1006c20304862c226642b3584f0c4b1 |
|
BLAKE2b-256 | edafd20281b2a6177e11a76e168ed96abd448d41d6638d274c28535a61e1b59c |