火车毫升模型与砖AutoML Python API
本文演示了如何训练模型与砖AutoML使用API。BOB低频彩了解更多关于AutoML是什么?。Python API提供了功能分类开始,回归和预测AutoML运行。每个函数调用列车一组为每个模型试验模型和生成一个笔记本。
通常以下步骤描述如何设置一个AutoML实验使用API:
创建一个笔记本并将其附加到一个集群运行砖运行时毫升。
确定要使用哪个表从你现有的数据源或DBFS上传数据文件和创建一个表。
当AutoML开始运行,一个出现在控制台MLflow实验URL。使用这个URL来监控运行的进程。刷新MLflow实验的试验完成。
AutoML运行完成后:
使用输出总结中的链接导航到MLflow实验或笔记本,产生最好的结果。
使用链接数据探索笔记本得到一些洞察数据传递给AutoML。你也可以把这个笔记本相同的集群并重新运行笔记本繁殖结果或做额外的数据分析。
使用总结对象AutoML调用返回的探索更详细的试验或加载模型训练由给定的审判。BOB低频彩了解更多的AutoMLSummary对象。
克隆试验和重新运行的任何生成的笔记本笔记本通过将它附加到相同的集群复制的结果。你也可以进行必要的编辑和重新运行它们额外训练模型和日志相同的实验。
需求
看到需求AutoML实验。
分类规范
以下代码示例配置一个AutoML运行训练分类模型。其他参数进一步定制AutoML看到运行分类和回归参数。
请注意
的max_trials
参数是在砖弃用运行时不支持10.4毫升,在砖运行时的11.0毫升以上。使用timeout_minutes
控制AutoML运行的时间。
砖。automl。分类(数据集:联盟(pyspark。sql。DataFrame,熊猫。DataFrame,pyspark。熊猫。DataFrame,str),*,target_col:str,data_dir:可选(str]=没有一个,exclude_cols:可选(列表(str]]=没有一个,# < DBR > 10.3毫升以上exclude_frameworks:可选(列表(str]]=没有一个,# < DBR > 10.3毫升以上experiment_dir:可选(str]=没有一个,# < DBR > 10.4 LTS毫升以上experiment_name:可选(str]=没有一个,# < DBR > 12.1毫升以上feature_store_lookups:可选(列表(Dict]]=没有一个,# < DBR > 11.3 LTS毫升以上imputers:可选(Dict(str,联盟(str,Dict(str,任何]]]]=没有一个,# < DBR > 10.4 LTS毫升以上max_trials:可选(int]=没有一个,# < DBR > 10.5毫升和下面pos_label:可选(联盟(int,bool,str]=没有一个,# < DBR > 11.1毫升以上primary_metric:str=“f1”,time_col:可选(str]=没有一个,timeout_minutes:可选(int]=没有一个,)- >AutoMLSummary
回归规范
以下代码示例配置一个AutoML运行培训一个回归模型。其他参数进一步定制AutoML看到运行分类和回归参数。
请注意
的max_trials
参数是在砖弃用运行时不支持10.4毫升,在砖运行时的11.0毫升以上。使用timeout_minutes
控制AutoML运行的时间。
砖。automl。回归(数据集:联盟(pyspark。sql。DataFrame,熊猫。DataFrame,pyspark。熊猫。DataFrame,str),*,target_col:str,data_dir:可选(str]=没有一个,exclude_cols:可选(列表(str]]=没有一个,# < DBR > 10.3毫升以上exclude_frameworks:可选(列表(str]]=没有一个,# < DBR > 10.3毫升以上experiment_dir:可选(str]=没有一个,# < DBR > 10.4 LTS毫升以上experiment_name:可选(str]=没有一个,# < DBR > 12.1毫升以上feature_store_lookups:可选(列表(Dict]]=没有一个,# < DBR > 11.3 LTS毫升以上imputers:可选(Dict(str,联盟(str,Dict(str,任何]]]]=没有一个,# < DBR > 10.4 LTS毫升以上max_trials:可选(int]=没有一个,# < DBR > 10.5毫升和下面primary_metric:str=“r2”,time_col:可选(str]=没有一个,timeout_minutes:可选(int]=没有一个,)- >AutoMLSummary
预测规范
以下代码示例配置一个AutoML运行培训一个预测模型。额外的细节参数AutoML运行预测参数。使用Auto-ARIMA,时间序列必须有规律的频率(也就是说,任意两个点之间的时间间隔必须在整个时间序列相同)。频率必须匹配频率API调用中指定的单位。AutoML处理丢失的时间步骤填写这些值的前一个值。
砖。automl。预测(数据集:联盟(pyspark。sql。DataFrame,熊猫。DataFrame,pyspark。熊猫。DataFrame,str),*,target_col:str,time_col:str,country_code:str=“我们”,# < DBR > 12.0毫升以上data_dir:可选(str]=没有一个,exclude_frameworks:可选(列表(str]]=没有一个,experiment_dir:可选(str]=没有一个,experiment_name:可选(str]=没有一个,# < DBR > 12.1毫升以上feature_store_lookups:可选(列表(Dict]]=没有一个,# < DBR > 12.2 LTS毫升以上频率:str=“D”,地平线:int=1,identity_col:可选(联盟(str,列表(str]]]=没有一个,output_database:可选(str]=没有一个,# < DBR > 10.5毫升以上primary_metric:str=“smape”,timeout_minutes:可选(int]=没有一个,)- >AutoMLSummary
分类和回归参数
请注意
分类和回归问题,您可以:
指定的列包含在训练。
选择自定义归责方法。
字段名 |
类型 |
描述 |
---|---|---|
数据集 |
str熊猫。DataFramepyspark。DataFrame pyspark.sql.DataFrame |
输入表名或DataFrame包含培训功能和目标。 表名可以在格式”. .“或”。“非统一目录表 |
target_col |
str |
列名为目标标签。 |
data_dir |
str的格式 |
(可选)用于存储训练数据集DBFS路径。这条路是可见的司机和工人节点。如果空,AutoML节省训练数据集作为MLflow工件。 |
exclude_cols |
列表(str) |
(可选)的列列表忽略在AutoML计算。 默认值:[] |
exclude_框架 |
列表(str) |
(可选)的算法框架列表AutoML不应该认为它的发展模式。可能的值:空列表,或者一个或多个“sklearn”,“lightgbm”、“xgboost”。 默认值:[](所有框架被认为是) |
experiment_dir |
str |
在工作区中(可选)路径目录保存生成的笔记本和实验。 默认值: |
experiment_name |
str |
(可选)的名称MLflow实验AutoML创造。 默认值:名字是自动生成的。 |
feature_store_查找 |
列表(东西) |
(可选)的词典列表代表功能特性存储的数据扩充。有效的在每个字典键:
默认值:[] |
imputers |
Dict (str,工会(str, Dict [str,任何]]] |
(可选)词典,每个键是一个列名称,和每个值是一个字符串描述归罪策略或字典。如果指定为一个字符串,的值必须是一个“意思”,“中等”或“most_frequent”。转嫁与已知值,指定的值作为一个字典 如果没有提供归罪战略列,AutoML选择一个默认的策略基于列类型和内容。如果你指定一个非默认归责方法,AutoML不执行语义类型检测。 默认值:{} |
max_trials |
int |
(可选)最大数量的试验运行。 这个参数可以在砖运行时10.5毫升,下面,但是在砖开始运行时10.3毫升。已被弃用,砖运行时11.0毫升以上,不支持这个参数。 默认值:20 如果timeout_minutes = None, AutoML运行试验的最大数量。 |
pos_label |
联盟(int, bool, str) |
(分类)的积极类。这是有用的计算精度和召回等指标。只能指定二进制分类问题。 |
primary_metric |
str |
指标用于评估和等级模型的性能。 支持指标回归:“r2”(默认),“美”、“rmse”、“mse” 支持分类指标:“f1”(默认),“log_loss”、“精密”,“准确性”,“roc_auc” |
time_col |
str |
在砖运行时可用10.1毫升以上。 (可选的)一次列的列名。 如果提供,AutoML试图将数据集分为训练,验证集和测试集的作品按年代排序,使用最早的点作为训练数据和最新的点作为测试集。 接受时间戳和整数列类型。砖运行时的10.2毫升以上,也支持字符串列。如果字符串列类型,AutoML试图把它转换成使用语义检测时间戳。如果转换失败,AutoML运行失败。 |
timeout_minutes |
int |
(可选)最长时间等待AutoML试验完成。更长的超时允许AutoML运行试验和确定一个模型有更好的精度。 默认值:无(无时间限制) 最小值:5分钟 一个错误报告如果超时太短,允许至少一个试验来完成。 |
预测参数
字段名 |
类型 |
描述 |
---|---|---|
数据集 |
str 熊猫。DataFrame pyspark。DataFrame pyspark。sql。DataFrame |
输入表名或DataFrame包含培训功能和目标。 表名可以在格式”. .“或”。“非统一目录表 |
target_col |
str |
列名为目标标签。 |
time_col |
str |
预测时间列的名称。 |
频率 |
str |
时间序列预测的频率。这是预计的时间事件发生。默认设置是“D”或日常数据。一定要改变设置如果您的数据有不同的频率。 可能的值: “W”(周) “D”/“天”/“天” “小时”/“小时”/“人力资源”/“h” “m”/“分钟”/“min”/“分钟”/“T” “S”/“秒”/“sec”/“第二” 以下是与砖只能运行时12.0毫升,上图: “M”/“月”/“月” “Q”/“季度”/“季度” “Y”/“年”/“年” 默认值:“D” |
地平线 |
int |
数量的时期应该返回预期的未来。单位是时间序列的频率。默认值:1 |
data_dir |
str的格式 |
(可选)用于存储训练数据集DBFS路径。这条路是可见的司机和工人节点。如果空,AutoML节省训练数据集作为MLflow工件。 |
exclude_框架 |
列表(str) |
(可选)的算法框架列表AutoML不应该认为它的发展模式。可能的值:空列表,或者一个或多个“先知”、“arima”。默认值:[](所有框架被认为是) |
experiment_dir |
str |
在工作区中(可选)路径目录保存生成的笔记本和实验。 默认值: |
experiment_name |
str |
(可选)的名称MLflow实验AutoML创造。 默认值:名字是自动生成的。 |
feature_store_查找 |
列表(东西) |
(可选)的词典列表代表功能特性存储的数据扩充。有效的在每个字典键:
默认值:[] |
identity_col |
联盟(str,列出) |
(可选)列(s),确定multi-series预测时间序列。AutoML由这些列组(s)和列的时间预测。 |
output_database |
str |
(可选)如果提供,AutoML保存最好的模型来预测一个新表中指定的数据库。 默认值:预测还未得救。 |
primary_metric |
str |
指标用于评估和等级模型的性能。支持指标:“smape”(默认)“mse”,“rmse”、“美”或“mdape”。 |
timeout_minutes |
int |
(可选)最长时间等待AutoML试验完成。更长的超时允许AutoML运行试验和确定一个模型有更好的精度。 默认值:无(无时间限制) 最小值:5分钟 一个错误报告如果超时太短,允许至少一个试验来完成。 |
country_code |
str |
在砖运行时可用12.0毫升以上。只支持的先知预测模型。 (可选)两个字母的国家代码表明预测模型应该使用哪个国家的假期。忽略假期,将这个参数设置为一个空字符串(" ")。支持国家。 默认值:美国(美国假期)。 |
返回
AutoMLSummary
总结对象为AutoML描述指标,运行参数,和其他细节为每个试验。你也用这个对象加载模型由一个特定的训练试验。
财产 |
类型 |
描述 |
---|---|---|
实验 |
mlflow.entities.Experiment |
MLflow实验用于记录试验。 |
试用 |
列表(TrialInfo) |
列表包含所有的试验运行的信息。 |
best_trial |
TrialInfo |
审判信息导致的最佳加权分数的主要指标。 |
metric_distribution |
str |
主要指标的加权分数分布在所有试验。 |
output_table_name |
str |
仅用于预测,只有output_database提供。表的名字output_database包含模型的预测。 |
TrialInfo
总结为每个单独的试验对象。
财产 |
类型 |
描述 |
---|---|---|
notebook_path |
str |
生成的路径笔记本这个试验在工作区中。 |
notebook_url |
str |
这个试验的URL生成的笔记本。 |
mlflow_run_id |
str |
MLflow运行ID相关的试验。 |
指标 |
Dict (str,浮动) |
的度量标准登录MLflow审判。 |
参数个数 |
Dict (str, str) |
登录参数MLflow用于此试验。 |
model_path |
str |
MLflow工件URL在这个试验模型的训练。 |
model_description |
str |
简短描述的模型和hyperparameters用于训练该模型。 |
持续时间 |
str |
培训时间在几分钟内。 |
预处理器 |
str |
预处理器运行之前训练模型的描述。 |
evaluation_metric_score |
浮动 |
得分为主要指标,评估验证数据集。 |
方法 |
描述 |
---|---|
load_model () |
负荷模型生成的在这个实验中,记录作为MLflow工件。 |
注册和部署模型
你可以注册和部署AutoML训练模型就像任何注册模型MLflow模型中的注册表,看看日志、负载、登记和部署MLflow模型。
名为“pandas.core.indexes.numeric没有模块
当提供一个模型使用AutoML与模型构建服务,你可能会得到错误:没有模块命名“pandas.core.indexes.numeric
。
这是由于一个不相容的熊猫
版本AutoML和模型服务端点之间的环境。您可以通过运行解决这个错误add-pandas-dependency。py脚本。脚本编辑让
和conda.yaml
为你记录包括适当的模型熊猫
依赖版本:熊猫= = 1.5.3
。
包括修改脚本
run_id
MLflow运行你的模型的记录。注册模型MLflow模型注册表。
试服务MLflow模型的新版本。