机器学习集市
autobazaar的Python项目详细描述
麻省理工学院从数据到人工智能实验室的开源项目。
Autobazar
- 许可证:麻省理工学院
- 文档:https://hdi-project.github.io/autobazaar/" rel="nofollow">https://hdi-project.github.io/autobazaar/
- 主页:https://github.com/hdi-project/autobazaar rel="nofollow">https://github.com/hdi-project/autobazaar
概述
autobazar是一个automl系统,用于执行与 机器学习集市论文:利用ML生态系统实现有效系统 开发 通过麻省理工学院LIDS的人类数据交互(HDI)项目
它以python库的形式出现,可以直接在任何其他python中使用 项目,以及允许搜索管道以直接解决问题的cli 从命令行。
安装
要求
autobazaar已经在python 3.5、3.6和3.7上开发和测试
另外,虽然不是严格要求,但是
强烈建议使用virtualenv,以避免
干扰系统中安装的其他软件,该系统运行Autobazar
以下是使用python3.6为autobazar创建virtualenv所需的最少命令:
pip install virtualenv virtualenv -p $(which python3.6) autobazaar-venv
之后,必须执行此命令才能激活virtualenv:
source autobazaar-venv/bin/activate
记住每次启动一个新控制台来处理autobazar时都要执行它!
使用PIP安装
创建并激活virtualenv之后,我们建议使用 pip以便安装自动总线:
pip install autobazaar
这将从pypi中拉取并安装最新的稳定版本。
从源安装
或者,激活virtualenv后,可以克隆存储库并从
通过在stable
分支上运行make install
进行源代码:
git clone git@github.com:HDI-Project/AutoBazaar.git
cd AutoBazaar
git checkout stable
make install
对于开发,您可以使用make install development
来安装所有
测试和代码linting所需的依赖项。
数据格式
autobazaar使用的数据集是d3m模式格式 作为输入。
这个数据集模式,由麻省理工林肯实验室为DARPA的数据驱动发现开发 对于models程序,要求数据采用可读格式,如csv文件或 jpg图像,并与一些元数据规范一起在文件夹层次结构中设置 在json格式中,它包含关于包含的所有数据的信息,以及问题 我们正在努力解决的问题。
有关SC的更多详细信息hema以及如何格式化数据以符合它, 请查看模式文档
例如,您可以浏览此存储库中包含的一些数据集 演示目的:
- 185撸棒球:单表回归
- 196戡autompg:单表分类
此外,您还可以在 AWS中的D3M数据DAI S3存储桶
快速启动
在这个简短的教程中,我们将指导您完成一系列步骤,帮助您获得
从autobazaar开始,使用其cli命令abz
有关其用法和可用选项的详细信息,请执行abz--help
在您的命令行中。
确保您的数据以上述内部说明的数据格式准备 以及文件系统中的未压缩文件夹,可由autobazaar直接访问。
为了检查您的数据集是否可用并且可以使用,您可以执行
命令行中的abz
命令及其list
子命令。
如果数据集位于不同的位置,而不是位于
当前工作目录,请不要忘记将-i
参数添加到命令中,指示
包含数据集的文件夹的路径。
$ 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
注意:如果您看到一个错误,指出未找到匹配的数据集,请查看 数据集格式,并确保已指示正确的路径。
在本快速入门的其余部分中,我们将使用 在数据文件夹中找到 包含在此存储库中。
<H2>2。启动搜索过程一旦数据准备就绪,就可以使用abz搜索启动autobazar搜索过程。 命令。 为此,您需要再次提供包含数据集的路径,如下所示 以及要处理的数据集的名称。
$ abz search -i /path/to/your/datasets/folder name_of_your_dataset
这将评估默认管道,而无需对其执行额外的优化迭代。
为了开始实际的优化过程,您需要至少提供 以下附加选项:
-b,--budget
:要执行的最大优化迭代次数。-t,--超时
:系统需要运行的最长时间,以秒为单位。-c,--checkpoints
:包含不同检查点的逗号分隔字符串,其中 到目前为止最好的管道必须根据测试数据集进行存储和评估。一定有 检查点时间之间没有空格。例如,每隔10分钟存储一次最好的管道 在30分钟后,您可以使用选项-c 60012001800
例如,要在30秒内搜索处理185_棒球
数据集,请计算
到目前为止,最好的管道每10秒一次,但最多10次调整迭代,我们将
使用以下命令:
abz search 185_baseball -c10,20,30 -b10
有关可用选项的详细信息,请在 终端。
<H2>3。探索结果一旦autobazar完成对E BEST PIPELINE,将打印一张表格 在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
选项,结果将
存储在那里:
pip install virtualenv virtualenv -p $(which python3.6) autobazaar-venv0
接下来是什么?
有关Autobazar及其所有可能性和功能的详细信息,请查看 项目文档站点!
学分
Autobazar是一个开源项目,由以下团队从数据到麻省理工的人工智能实验室:
- Carles Salacsala@csail.mit.edu
- micah smithmicahs@mit.edu
- max kantermax.kanter@gmail.com
- kalyan veeramachanenikalyanv@mit.edu
引用autobazar
如果您使用Autobazar进行研究,请考虑引用以下论文(https://arxiv.org/pdf/1905.08942.pdf):
pip install virtualenv virtualenv -p $(which python3.6) autobazaar-venv1
历史记录
0.1.0-2019年6月24日
首次发布。
这是用于生成结果的软件的稍微清理过的版本 在机器学习集市论文中解释