火车毫升模型与砖AutoML Python API

本文演示了如何训练模型与砖AutoML使用API。BOB低频彩了解更多关于AutoML是什么?。Python API提供了功能分类开始,回归和预测AutoML运行。每个函数调用列车一组为每个模型试验模型和生成一个笔记本。

通常以下步骤描述如何设置一个AutoML实验使用API:

  1. 创建一个笔记本并将其附加到一个集群运行砖运行时毫升。

  2. 确定要使用哪个表从你现有的数据源或DBFS上传数据文件和创建一个表。

  3. 开始一个AutoML运行,通过适当的API规范的表名:分类,回归,或预测

  4. 当AutoML开始运行,一个出现在控制台MLflow实验URL。使用这个URL来监控运行的进程。刷新MLflow实验的试验完成。

  5. AutoML运行完成后:

    • 使用输出总结中的链接导航到MLflow实验或笔记本,产生最好的结果。

    • 使用链接数据探索笔记本得到一些洞察数据传递给AutoML。你也可以把这个笔记本相同的集群并重新运行笔记本繁殖结果或做额外的数据分析。

    • 使用总结对象AutoML调用返回的探索更详细的试验或加载模型训练由给定的审判。BOB低频彩了解更多的AutoMLSummary对象

    • 克隆试验和重新运行的任何生成的笔记本笔记本通过将它附加到相同的集群复制的结果。你也可以进行必要的编辑和重新运行它们额外训练模型和日志相同的实验。

需求

看到需求AutoML实验。

分类规范

以下代码示例配置一个AutoML运行训练分类模型。其他参数进一步定制AutoML看到运行分类和回归参数

请注意

max_trials参数是在砖弃用运行时不支持10.4毫升,在砖运行时的11.0毫升以上。使用timeout_minutes控制AutoML运行的时间。

automl分类(数据集:联盟(pysparksqlDataFrame,熊猫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回归(数据集:联盟(pysparksqlDataFrame,熊猫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预测(数据集:联盟(pysparksqlDataFrame,熊猫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: / <文件夹名称>

(可选)用于存储训练数据集DBFS路径。这条路是可见的司机和工人节点。如果空,AutoML节省训练数据集作为MLflow工件。

exclude_cols

列表(str)

(可选)的列列表忽略在AutoML计算。

默认值:[]

exclude_框架

列表(str)

(可选)的算法框架列表AutoML不应该认为它的发展模式。可能的值:空列表,或者一个或多个“sklearn”,“lightgbm”、“xgboost”。

默认值:[](所有框架被认为是)

experiment_dir

str

在工作区中(可选)路径目录保存生成的笔记本和实验。

默认值:/ / <用户名> / databricks_automl /用户

experiment_name

str

(可选)的名称MLflow实验AutoML创造。

默认值:名字是自动生成的。

feature_store_查找

列表(东西)

(可选)的词典列表代表功能特性存储的数据扩充。有效的在每个字典键:

  • table_name (str):必须的。功能表的名称。

  • lookup_key(列表或str):必须的。列名(s)作为关键当加入功能表中传递的数据数据集参数。的顺序列名称必须匹配功能表的主键的顺序。

  • timestamp_lookup_key (str):如果需要指定的表是一个时间序列特征表。列名使用在执行时间点查找功能表的数据传递数据集参数。

默认值:[]

imputers

Dict (str,工会(str, Dict [str,任何]]]

(可选)词典,每个键是一个列名称,和每个值是一个字符串描述归罪策略或字典。如果指定为一个字符串,的值必须是一个“意思”,“中等”或“most_frequent”。转嫁与已知值,指定的值作为一个字典{“策略”:“常数”,“fill_value”:<所需的值>}。还可以指定字符串选项字典,例如{“策略”:“的意思是”}。

如果没有提供归罪战略列,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: / <文件夹名称>

(可选)用于存储训练数据集DBFS路径。这条路是可见的司机和工人节点。如果空,AutoML节省训练数据集作为MLflow工件。

exclude_框架

列表(str)

(可选)的算法框架列表AutoML不应该认为它的发展模式。可能的值:空列表,或者一个或多个“先知”、“arima”。默认值:[](所有框架被认为是)

experiment_dir

str

在工作区中(可选)路径目录保存生成的笔记本和实验。

默认值:/ / <用户名> / databricks_automl /用户

experiment_name

str

(可选)的名称MLflow实验AutoML创造。

默认值:名字是自动生成的。

feature_store_查找

列表(东西)

(可选)的词典列表代表功能特性存储的数据扩充。有效的在每个字典键:

  • table_name (str):必须的。功能表的名称。

  • lookup_key(列表或str):必须的。列名(s)作为关键当加入功能表中传递的数据数据集参数。的顺序列名称必须匹配功能表的主键的顺序。

  • timestamp_lookup_key (str):如果需要指定的表是一个时间序列特征表。列名使用在执行时间点查找功能表的数据传递数据集参数。

默认值:[]

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

  1. 包括修改脚本run_idMLflow运行你的模型的记录。

  2. 注册模型MLflow模型注册表。

  3. 试服务MLflow模型的新版本。

笔记本的例子

回顾这些笔记本与AutoML开始。

以下笔记本显示了如何用AutoML做分类。

AutoML分类示例笔记本

在新标签页打开笔记本

以下笔记本显示了如何用AutoML做回归。

AutoML回归例子笔记本

在新标签页打开笔记本

以下笔记本显示了如何用AutoML做预测。

AutoML预测例子笔记本

在新标签页打开笔记本

下面的笔记本显示了如何培养一个毫升模型AutoML和特性存储特性表。

AutoML试验特性存储笔记本

在新标签页打开笔记本