自动调整模型
atm的Python项目详细描述
麻省理工学院从数据到人工智能实验室的开源项目。
ATM-自动调谐模式
- 许可证:麻省理工学院
- 文档:https://hdi-project.github.io/atm/" rel="nofollow">https://hdi-project.github.io/atm/
- 主页:https://github.com/hdi-project/atm rel="nofollow">https://github.com/hdi-project/atm
概述
自动调谐模型(atm)是一个以易用性为目的而设计的automl系统。总之,你给 atm一个分类问题和一个数据集作为csv文件,atm将尝试构建最佳模型 它可以。自动柜员机是基于a纸张 该项目是麻省理工学院人类数据交互(HDI)项目的一部分。
安装
要求
ATM已经在python 2.7、3.5和3.6上开发和测试
另外,虽然不是严格要求,但是
强烈建议使用virtualenv,以避免
干扰安装在运行ATM的系统中的其他软件。 以下是使用python3.6为atm创建virtualenv所需的最少命令: 之后,必须执行此命令才能激活virtualenv: 记住每次启动一个新控制台在ATM上工作时都要执行它! 创建并激活virtualenv之后,我们建议使用
pip以便安装ATMpip install virtualenv
virtualenv -p $(which python3.6) atm-venv
source atm-venv/bin/activate
使用PIP安装
pip install atm
这将从pypi中拉取并安装最新的稳定版本。
从源安装
或者,激活virtualenv后,可以克隆存储库并从
通过在stable
分支上运行make install
进行源代码:
git clone git@github.com:HDI-Project/ATM.git
cd ATM
git checkout stable
make install
安装用于开发
如果你想为这个项目做贡献,还需要一些步骤准备好项目 为了发展。
首先,请转到项目的github页面 并通过单击 页面的右上角。
然后,克隆fork并从master创建一个具有描述性名称的分支,该名称包括 您要处理的问题的编号:
git clone git@github.com:{your username}/ATM.git cd ATM git branch issue-xx-cool-new-feature master git checkout issue-xx-cool-new-feature
最后,使用以下命令安装项目,该命令将安装一些 代码行和测试的依赖关系。
make install-develop
通过运行命令make lint
和make test
,确保在开发时定期使用它们。
数据格式
ATM输入始终是具有以下特征的CSV文件:
- 它使用一个逗号
,
作为分隔符。 - 第一行是包含列名称的标题。
- 有一列包含需要预测的目标变量。
- 其余列都是用于预测目标列的变量或功能。
- 每一行对应一个完整的训练样本。
下面是一个有效csv的前5行,其中有4个特性和一个名为类的目标列,例如:
feature_01,feature_02,feature_03,feature_04,class
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
这个csv可以作为本地文件系统路径传递给atm,也可以作为一个完整的aws s3 bucket和 路径规范或作为URL。
您可以在aws中的atm data s3 bucket中找到演示数据集的集合。
快速启动
在这个简短的教程中,我们将指导您完成一系列步骤,帮助您获得 从atm开始,通过探索其python api。
<H2>1。获取演示数据运行ATM的第一步是获取在 本教程的其余部分。
在这个演示中,我们将使用atm数据桶中的污染csv,您可以用浏览器下载它 从这里开始,或使用以下命令:
atm download_demo pollution_1.csv<H2>2。创建ATM实例
获得演示数据集后,要做的第一件事是创建一个ATM实例。
fromatmimportATMatm=ATM()
默认情况下,如果atm实例没有任何参数,它将创建一个sqlite数据库 在当前工作目录中调用atm.db。
如果要改为连接到SQL数据库,或更改SQLite数据库的位置, 请检查API参考 有关可用选项的完整列表。
<H2>3。搜索最佳型号一旦您准备好了atm实例,就可以使用atm.run
方法启动
搜索能更好地预测CSV文件目标列的模型。
必须为该函数提供csv文件的路径,该路径可以是本地文件系统路径,也可以是 以及http或s3资源。
例如,如果我们以前下载过污染1.csv
文件在当前工作目录中,我们可以调用run
如下:
pip install virtualenv virtualenv -p $(which python3.6) atm-venv0
或者,我们可以使用文件的https url让atm为我们下载csv:
pip install virtualenv virtualenv -p $(which python3.6) atm-venv1
最后一个选项是,如果文件在s3 bucket中,我们可以通过传递uri来下载它
在s3://{bucket}/{key}
格式中:
pip install virtualenv virtualenv -p $(which python3.6) atm-venv2
为了使用专用的s3存储桶,请确保配置了
AWS凭据文件,
或甲型肝炎病毒ing创建了您的atm
实例,将access\u键和
secret\u键的参数传递给它。
此运行
调用将启动所谓的数据运行
,并显示进度条
同时对不同的型号进行测试和调整。
pip install virtualenv virtualenv -p $(which python3.6) atm-venv3
此过程结束后,将打印一条消息,表明数据运行
已结束。然后我们可以
探索结果
对象。
一旦数据运行完成,我们可以用多种方式探索结果
对象:
a.获取数据运行摘要
方法将返回数据运行执行的摘要:
pip install virtualenv virtualenv -p $(which python3.6) atm-venv4
这将打印此数据运行的简短描述,类似于:
pip install virtualenv virtualenv -p $(which python3.6) atm-venv5
b.获得最佳分类器的摘要
get_best_classifier
方法将打印找到的最佳分类器的信息
在此数据运行期间,包括使用的方法和找到的最佳超参数:
pip install virtualenv virtualenv -p $(which python3.6) atm-venv6
输出与此类似:
pip install virtualenv virtualenv -p $(which python3.6) atm-venv7
c.查看分数
方法将返回一个包含所有 在数据运行期间测试的分类器,包括它们的交叉验证分数和 他们腌制模型的位置。
pip install virtualenv virtualenv -p $(which python3.6) atm-venv8
分数数据框的内容应类似于以下内容:
pip install virtualenv virtualenv -p $(which python3.6) atm-venv9 <H2>5。进行预测
一旦我们找到并探索了最佳的分类器,我们将希望用它进行预测。
为此,我们需要执行以下几个步骤:
a.导出最佳分类器
export_best_classifier方法可用于序列化和保存最佳分类器模型
在所需位置使用pickle: 如果分类器已正确保存,则将打印一条消息,指示如下: 如果您提供的路径已经存在,则可以通过添加参数来移除它
b.加载导出的模型
导出后,您可以从 加载模型后,可以将新数据传递给其 有关ATM及其所有可能性和功能的详细信息,请查看
文档站点 在这里,您可以进一步了解它的命令行界面
以及它的rest api
如何为atm做出贡献
以帮助我们开发新功能或新创意。 ATM是一个开源项目,从麻省理工学院的数据到人工智能实验室,已经建立并维护了
多年来由以下团队执行: 如果您使用ATM,请考虑引用以下文件: 托马斯·斯威林根、威尔·德雷沃、贝内特·塞弗斯、阿尔弗雷多·奎斯塔·因凡特、阿伦·罗斯、卡扬·维拉马切内尼。atm:用于自动机器学习的分布式、协作性、可扩展系统。ieee bigdata 2017,151-162 bibtex条目: btb,用于贝叶斯优化和bandits,是核心automl
HDI项目下正在开发的库。btb公开了几种超参数方法
通过公共api进行选择和调优。它允许领域专家扩展现有的方法
很容易添加新的。BTB是ATM的核心部分,这两个项目是在
串联的,但是它的设计是不可知实现的,并且应该在广泛的范围内有用
超参数选择任务。 featuretools是一个用于自动化的python库
特征工程。它可以用来为ATM准备原始的事务和关系数据集。
它由功能实验室创建和维护,也是功能实验室的一部分。
人类数据交互项目
新的python api rest api和集群管理。 FIPYPI上的首次发布。source atm-venv/bin/activate
0
source atm-venv/bin/activate
1
force=true
atm.model中调用
load
方法将其重新加载
类并将模型保存的路径传递给它:source atm-venv/bin/activate
2
predict
方法
预测:source atm-venv/bin/activate
3
接下来是什么?< >
学分
引用ATM
source atm-venv/bin/activate
4
相关项目
BTB
功能工具
历史记录
0.2.2(2019-07-30)
新功能
0.2.1(2019-06-24)
新功能
0.2.0(2019-05-29)
新功能
0.1.2(2019-05-07)
新功能
0.1.1(2019-04-02)
新功能
0.1.0(2018-05-04)
推荐PyPI第三方库