Databricks AutoML
Databricks AutoML 可帮助你自动将机器学习应用于数据集。 它为模型训练准备数据集,然后执行并记录一组试验,从而创建、优化和评估多个模型。 它会显示结果,并提供一个 Python 笔记本,里面有每个试验运行的源代码,使你可查看、重现和修改代码。 AutoML 还会计算数据集的汇总统计信息,并将此信息保存在稍后可查看的笔记本中。
AutoML 自动在群集的工作器节点之间分配超参数优化试验。
每个模型都是从开源组件构造的,可轻松对其进行编辑并将其集成到机器学习管道中。 可以使用 Databricks AutoML 解决回归、分类和预测问题。 它根据 scikit-learn、xgboost 和 LightGBM 包中的算法评估模型。
可以使用 UI 或 Python API 运行 AutoML。
注意
直通群集或启用表 ACL 的群集不支持 AutoML。
要求
- Databricks Runtime 8.3 ML 或更高版本。 Databricks Runtime 10.4 LTS ML 或更高版本(适用于正式发布 (GA) 版本)。
- 对于时序预测,需要 Databricks Runtime 10.0 ML 或以上版本。
- 除了在用于机器学习的 Databricks Runtime 中预安装的库以外,群集上不能安装其他库。
- 在高并发群集上,AutoML 与表访问控制或凭据直通不兼容。
- 若要将 Unity Catalog 与 AutoML 配合使用,群集安全模式必须是“单用户”,并且你需是为该群集指定的单一用户。
AutoML 算法
Databricks AutoML 基于以下算法创建和评估模型:
- 分类模型
- 回归模型
- 预测
- Prophet
- Auto-ARIMA(在 Databricks Runtime 10.3 ML 及更高版本中可用。)
对大型数据集采样
注意
采样不适用于预测问题。
虽然 AutoML 在群集的工作器节点之间分配超参数优化试验,而每个模型都在单个工作器节点上进行训练。
AutoML 会自动估算加载和训练数据集所需的内存,并根据需要对数据集进行采样。
在 Databricks Runtime 9.1 LTS ML 到 Databricks Runtime 10.5 ML 中,采样分数不取决于群集节点类型或每个节点上的内存量。
在 Databricks Runtime 11.0 ML 及更高版本中:
- 对于每个内核具有更多内存的工作节点,采样分数会增加。 你可以通过选择内存优化实例类型来增加样本大小。
- 可以通过在群集的 Spark 配置中为
spark.task.cpus选择更大的值来增加样本量。 默认设置为 1;最大值为工作器节点中的 CPU 数量。 增加此值时,样本量会更大,但并行运行的试验会更少。 例如,在具有 4 个内核和 64GB 总 RAM 的计算机中,默认spark.task.cpus=1为每个工作器运行 4 次试验,每次试验限制为 16GB RAM。 如果设置spark.task.cpus=4,则每个工作器仅运行一次试验,但该试验可以使用 64GB RAM。 - 如果 AutoML 对数据集进行采样,则采样分数显示在 UI 的“概述”选项卡中。
对于分类问题,AutoML 使用 PySpark sampleBysampleBy进行分层采样,以保留目标标签分布。
对于回归问题,AutoML 使用 PySpark samplesample。
语义类型检测
注意
- 语义类型检测不适用于预测问题。
- AutoML 不会对指定了自定义插补方法的列执行语义类型检测。
对于 Databricks Runtime 9.1 LTS ML 及更高版本,AutoML 会尝试检测列的语义类型是否与表架构中的 Spark 或 pandas 数据类型不同。 AutoML 将这些列视为检测到的语义类型。 这些检测是尽力而为的,在某些情况下可能会错过语义类型的存在。 还可以手动设置列的语义类型,或告知 AutoML 不要使用注释将语义类型检测应用于列。
具体而言,AutoML 进行以下调整:
- 表示日期或时间戳数据的字符串列和整数列被视为时间戳类型。
- 表示数值数据的字符串列被视为数值类型。
对于 Databricks Runtime 10.1 ML 及更高版本,AutoML 还会进行以下调整:
- 包含分类 ID 的数字列被视为分类特征。
- 包含英语文本的字符串列被视为文本特征。
语义类型注释
对于 Databricks Runtime 10.1 ML 及更高版本,可以通过在列上放置语义类型注释来手动控制分配的语义类型。 若要手动将列 <column_name> 的语义类型注释为 <semantic_type>,请使用以下语法:
metadata_dict = df.schema["<column_name>"].metadata
metadata_dict["spark.contentAnnotation.semanticType"] = "<semantic_type>"
df = df.withMetadata("<column_name>", metadata_dict)
<semantic_type> 可以是以下值之一:
categorical:列包含分类值(例如,应视为 ID 的数值)。numeric:列包含数值(例如,可以解析为数字的字符串值)。datetime:列包含时间戳值(可以转换为时间戳的字符串、数字或日期值)。text:字符串列包含英语文本。
若要对列禁用语义类型检测,请使用特殊关键字注释 native。
用于模型可解释性的 Shapley 值 (SHAP)
AutoML 回归和分类运行生成的笔记本包括用于计算 Shapley 值的代码。 Shapley 值基于游戏理论,并可估计每个特征对模型预测的重要性。
AutoML 笔记本使用 SHAP 包计算 Shapley 值。 由于这些计算大量占用内存,因此在默认情况下不会执行计算。
若要计算和显示 Shapley 值,请执行以下操作:
- 转到 AutoML 生成的试用笔记本中的“特征重要性”部分。
- 设置
shap_enabled = True。 - 运行该笔记本。
控制训练/验证/测试拆分
使用 Databricks Runtime 10.1 ML 及更高版本,你可以指定用于分类和回归问题的训练/验证/测试拆分的时间列。 如果你指定此列,数据集将按时间分为训练集、验证集和测试集。 最早的点用于训练,次早的用于验证,最新的点用作测试集。
在 Databricks Runtime 10.1 ML 中,时间列必须是时间戳或整数列。 在 Databricks Runtime 10.2 ML 及更高版本中,你还可以选择字符串列。
时序聚合
对于预测问题,当时间序列中的时间戳有多个值时,AutoML 会使用这些值的平均值。
要改为使用总和,请编辑源代码笔记本。 在“聚合数据中...”单元格,将 .agg(y=(target_col, "avg")) 更改为 .agg(y=(target_col, "sum")),如下所示:
group_cols = [time_col] + id_cols
df_aggregation = df_loaded \
.groupby(group_cols) \
.agg(y=(target_col, "sum")) \
.reset_index() \
.rename(columns={ time_col : "ds" })
AutoML UI
AutoML UI 可逐步引导你完成基于数据集训练模型的过程。 若要访问 UI,请执行以下操作:
在左侧边栏顶部的角色切换器中,选择“机器学习”。
在边栏中,单击“创建”>“AutoML 试验”。
还可以从“试验”页创建新的 AutoML 试验。
此时会显示“配置 AutoML 试验”页。 在此页上,指定数据集、问题类型、要预测的目标或标签列、要用于评估试验运行并为其评分的指标,以及停止条件,来配置 AutoML 过程。
在 UI 中设置分类或回归问题
在“计算”字段中,选择一个运行 Databricks Runtime 8.3 ML 或更高版本的群集。
在“ML 问题类型”下拉菜单中,选择“回归”或“分类” 。 如果你正在尝试预测每个观测项的连续数字值(例如年度收入),请选择“回归”。 如果你正在尝试将每个观测项分配给一组离散类中的一个(例如良好信用风险或不良信用风险),请选择“分类”。
在“数据集”下,单击“浏览” 。 此时会显示一个对话框,其中列出了可用的数据库和表。 导航到要使用的表,然后单击“选择”。 此时会显示表架构。
你可以指定要包含在训练中的列并选择自定义插补方法。 请参阅修改数据集。
单击“预测目标”字段。 此时会显示一个下拉列表,其中列出了架构中显示的列。 选择希望模型预测的列。
“试验名称”字段显示默认名称。 若要更改该名称,请在字段中键入新名称。
你还可以指定其他配置选项。
在 UI 中设置预测问题
- 在“计算”字段中,选择一个运行 Databricks Runtime 10.0 ML 或更高版本的群集。
- 在“ML 问题类型”下拉菜单中,选择“预测” 。
- 在“数据集”下,单击“浏览” 。 此时会显示一个对话框,其中列出了可用的数据库和表。 导航到要使用的表,然后单击“选择”。 此时会显示表架构。
- 单击“预测目标”字段。 此时会显示一个下拉列表,其中列出了架构中显示的列。 选择希望模型预测的列。
- 单击“时间列”字段。 将显示一个下拉列表,其中显示类型为
timestamp或date的数据集列。 选择包含时序时间段的列。 - 对于多序列预测,请从“时序标识符”下拉列表中选择标识单个时序的列。 AutoML 按这些列将数据分组为不同的时序,并单独训练每个序列的模型。 如果将此字段留空,AutoML 会假定数据集包含单个时序。
- 在“预测范围和频率”字段中,指定 AutoML 应计算预测值的未来时间段数。 在左侧框中,输入要预测的时间段整数。 在右侧框中,选择单位。
- 在 Databricks Runtime 10.5 ML 及更高版本中,可以保存预测结果。 为此,请在“输出数据库”字段中指定一个数据库。 单击“浏览”并从对话框中选择数据库。 AutoML 会将预测结果写入此数据库中的表。
- “试验名称”字段显示默认名称。 若要更改该名称,请在字段中键入新名称。
你还可以指定其他配置选项。
高级配置
打开“高级配置 (可选)”部分以访问这些参数。
- 评估指标是用来为运行评分的主要指标。
- 在 Databricks Runtime 10.3 ML 及更高版本中,你可以将训练框架排除在考虑之外。 默认情况下,AutoML 使用 AutoML 算法下列出的框架训练模型。
- 你可以编辑停止条件。 默认停止条件为:
- 对于预测实验,请在 120 分钟后停止。
- 在 Databricks Runtime 10.5 ML 及更低版本中,对于分类和回归实验,请在 60 分钟或完成 200 次试验后停止,以较早发生者为准。 对于 Databricks Runtime 11.0 ML 及更高版本,试验次数不会用作停止条件。
- 在 Databricks Runtime 10.1 ML 及更高版本中,对于分类和回归实验,AutoML 包含了提前停止;如果验证指标不再改进,它将停止训练和调整模型。
- 在 Databricks Runtime 10.1 ML 及更高版本中,你可以选择时间列以按时间顺序拆分数据以进行训练、验证和测试(仅适用于分类和回归)。
- 在“数据目录”字段中,你可以输入保存训练数据集的 DBFS 位置。 如果将该字段留空,则训练数据集将保存为 MLflow 工件。
修改数据集
选择数据集后,将显示表架构。 仅对于分类和回归问题,你可以指定要包含在训练中的列并选择自定义插补方法。
列选择
在 Databricks Runtime 10.3 ML 及更高版本中,你可以指定 AutoML 应使用哪些列进行训练。 要排除某个列,请在“包括”列中取消选中此列。 取消选中某列相当于在 AutoML Python API 中设置 exclude_columns 参数。
你不能删除选择作为预测目标或时间列的列来拆分数据。
默认情况下,包括所有列。
缺失值的插补
在 Databricks Runtime 10.4 LTS ML 及更高版本中,可以指定如何插补 null 值。 在 UI 中,从表架构的“插补方法”列的下拉列表中选择一个方法。 或者,在 AutoML Python API 中使用 imputers 参数。
默认情况下,AutoML 会根据列类型和内容选择一种插补方法。
注意
如果指定非默认插补方法,则 AutoML 不会执行语义类型检测。
运行实验并监视结果
若要启动 AutoML 试验,请单击“启动 AutoML”。 试验随即开始运行,此时会显示 AutoML 训练页。 若要刷新运行表,请单击
。
在此页中,可以:
- 随时停止试验。
- 打开数据探索笔记本。
- 监视运行。
- 导航到任一运行的运行页。
对于 Databricks Runtime 10.1 ML 及更高版本,AutoML 会显示有关数据集潜在问题的警告,例如不支持的列类型或高基数列。
注意
Databricks 会尽力指出潜在的错误或问题。 但是,这可能并不全面,并且可能无法捕获可能正在搜索的问题或错误。 请确保也进行自己的评审。
若要查看数据集的任何警告,请单击训练页(或在试验完成后的试验页)上的“警告”选项卡。

试验完成后,可以:
- 使用 MLflow 注册和部署某个模型。
- 单击“查看最佳模型的笔记本”以查看和编辑创建了最佳模型的笔记本。
- 单击“查看数据探索笔记本”以打开数据探索笔记本。
- 搜索、筛选运行表中的运行以及对其进行排序。
- 查看任一运行的详细信息:
- 若要打开包含试验运行源代码的笔记本,请单击“源”列。
- 要查看运行结果,请单击“模型”列或“开始时间”列。 出现运行页面,显示关于试运行的信息(例如参数、度量和标记)以及运行所创建的工件,包括模型。 此页面还包含可用于对模型进行预测的代码片段。
以后若要返回到此 AutoML 试验,可在“试验”页上的表中找到它。 每个 AutoML 实验的结果(包括数据探索和训练笔记本)都存储在运行实验的用户的主文件夹中的一个 databricks_automl 文件夹中。
通过 AutoML UI 注册和部署模型
单击要注册的模型的“模型”列中的链接。 运行完成后,最佳模型(基于主要指标)将显示在最前面的行中。
将显示创建了该模型的运行的运行页的项目部分。
单击
以在模型注册表中注册该模型。单击边栏中的
“模型”可导航到“模型注册表”。
AutoML Python API
创建一个笔记本并将其附加到运行 Databricks Runtime 8.3 ML 或更高版本的群集。
从现有数据源加载 Spark 或 Pandas 数据帧,或者将数据文件上传到 DBFS 并将数据加载到笔记本中。
df = spark.read.format("parquet").load("<folder-path>")若要启动 AutoML 运行,请将数据帧传递给 AutoML。 有关详细信息,请参阅 API 规范。
AutoML 运行开始时,控制台中会显示 MLflow 试验 URL。 使用此 URL 可以监视运行进度。 刷新 MLflow 试验查看已完成的试运行。
AutoML 运行完成后:
- 使用输出摘要中的链接导航到 MLflow 试验或导航到生成最佳结果的笔记本。
- 使用数据探索笔记本的链接可以深入了解传递给 AutoML 的数据。 还可以将此笔记本附加到同一群集,然后重新运行此笔记本以重现结果或执行其他数据分析。
- 使用 AutoML 调用返回的摘要对象来探索有关试验的更多详细信息或加载给定试运行训练的模型。 有关详细信息,请参阅 API 文档。
- 克隆试运行生成的任何笔记本,并通过将其附加到同一群集来重新运行该笔记本,以重现结果。 还可以进行必要的编辑,然后重新运行该笔记本以训练其他模型并将其记录到同一个试验中。
Python API 规范
Python API 提供用于启动分类和回归 AutoML 运行的函数。 每个函数调用将训练一组模型,并为每个模型生成一个试运行笔记本。
分类
注意
max_trials 参数在 Databricks Runtime 10.3 ML - 10.5 ML 中已弃用,Databricks Runtime 11.0 ML 及更高版本不支持此参数。 timeout_minutes 用于控制 AutoML 运行的持续时间。
databricks.automl.classify(
dataset: Union[pyspark.DataFrame, pandas.DataFrame],
*,
target_col: str,
data_dir: Optional[str] = None,
exclude_columns: Optional[List[str]] = None, # <DBR> 10.3 ML and above
exclude_frameworks: Optional[List[str]] = None, # <DBR> 10.3 ML and above
experiment_dir: Optional[str] = None, # <DBR> 10.4 LTS ML and above
imputers: Optional[Dict[str, Union[str, Dict[str, Any]]]] = None, # <DBR> 10.4 LTS ML and above
max_trials: Optional[int] = None, # <DBR> 10.5 ML and below
primary_metric: str = "f1",
time_col: Optional[str] = None,
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
回归
注意
max_trials 参数在 Databricks Runtime 10.3 ML - 10.5 ML 中已弃用,Databricks Runtime 11.0 ML 及更高版本不支持此参数。 timeout_minutes 用于控制 AutoML 运行的持续时间。
databricks.automl.regress(
dataset: Union[pyspark.DataFrame, pandas.DataFrame],
*,
target_col: str,
data_dir: Optional[str] = None,
exclude_columns: Optional[List[str]] = None, # <DBR> 10.3 ML and above
exclude_frameworks: Optional[List[str]] = None, # <DBR> 10.3 ML and above
experiment_dir: Optional[str] = None, # <DBR> 10.4 LTS ML and above
imputers: Optional[Dict[str, Union[str, Dict[str, Any]]]] = None, # <DBR> 10.4 LTS ML and above
max_trials: Optional[int] = None, # <DBR> 10.5 ML and below
primary_metric: str = "r2",
time_col: Optional[str] = None,
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
预测
databricks.automl.forecast(
dataset: Union[pyspark.sql.dataframe.DataFrame, pandas.core.frame.DataFrame, pyspark.pandas.DataFrame],
*,
target_col: str,
time_col: str,
data_dir: Optional[str] = None,
exclude_frameworks: Optional[List[str]] = None,
experiment_dir: Optional[str] = None,
frequency: str = "D",
horizon: int = 1,
identity_col: Optional[Union[str, List[str]]] = None,
output_database: Optional[str] = None, # <DBR> 10.5 ML and above
primary_metric: str = "smape",
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
parameters
分类和回归
| 字段名称 | 类型 | 说明 |
|---|---|---|
| dataset | pyspark.DataFrame pandas.DataFrame | 包含训练特征和目标的输入数据帧。 |
| target_col | str | 目标标签的列名。 |
| data_dir | str,格式为dbfs:/<folder-name> |
(可选)用于存储训练数据集的 DBFS 路径。 此路径对驱动程序节点和工作器节点均可见。 如果为空,AutoML 将训练数据集保存为 MLflow 工件。 |
| exclude_columns | List[str] | (可选)在 AutoML 计算期间要忽略的列的列表。 默认值:[] |
| exclude_ frameworks | List[str] | (可选)AutoML 在开发模型时不应考虑的算法框架列表。 可能的值:空列表,或“sklearn”、“lightGBM”、“xgboost”中的一个或多个。 默认值:[](考虑所有框架) |
| experiment_dir | str | (可选)工作区中目录的路径,用于保存生成的笔记本和实验。 默认: /Users/<username>/databricks_automl/ |
| 填补器 | Dict[str, Union[str, Dict[str, Any]]] | (可选)字典,其中每个键是列名,每个值是一个字符串或描述估算策略的字典。 如果指定为字符串,则该值必须是“mean”、“median”或“most_frequend”之一。 若要使用已知值进行填补,请将该值指定为字典 {“strategy”: “constant”, value: }。 也可以将字符串选项指定为字典,例如 {“strategy”: “mean”}。 如果没有为列提供任何填补策略,AutoML 将选择默认策略。 默认:{} |
| max_trials | int | (可选)运行的最大试运行次数。 此参数在 Databricks Runtime 10.5 ML 及更低版本中可用,但从 Databricks Runtime 10.3 ML 开始弃用。 Databricks Runtime 11.0 ML 及更高版本中不支持此参数。 默认值:20 如果 timeout_minutes=None,AutoML 将运行最大试运行次数。 |
| primary_metric | str | 用于评估模型性能并为其排名的指标。 支持的回归指标:“R2”(默认)、“MAE”、“RMSE”、“MSE” 支持的分类指标:“f1”(默认)、“log_loss”、“precision”、“accuracy”、“roc_auc” |
| time_col | str | 在 Databricks Runtime 10.1 ML 及更高版本中可用。 (可选)时间列的列名。 如果提供,AutoML 会尝试按时间顺序将数据集拆分为训练集、验证集和测试集,使用最早的点作为训练数据,使用最新的点作为测试集。 接受的列类型是 timestamp 和 integer。 对于 Databricks Runtime 10.2ML 及以上版本,也支持字符串列。 如果列类型是字符串,AutoML 尝试使用语义检测将其转换为时间戳。 如果转换失败,则 AutoML 运行失败。 |
| timeout_minutes | int | (可选)表示等待 AutoML 试运行完成的最长时间。 如果超时较长,则 AutoML 可以运行更多的试运行,并为模型标识更高的准确度。 默认值:无(没有时间限制) 最小值:5 分钟 如果超时太短,无法完成至少一次试运行,则会报告错误。 |
预测
| 字段名称 | 类型 | 说明 |
|---|---|---|
| dataset | pyspark.DataFrame pandas.DataFrame | 包含训练特征和目标的输入数据帧。 |
| target_col | str | 目标标签的列名。 |
| time_col | str | 用于预测的时间列的名称。 |
| 频率 | str | 用于预测的时序的频率。 这是预期事件发生的时间段。 默认设置是“D”或每日数据。 如果数据有其他频率,请务必更改该设置。 可能的值: “W” (weeks) "D" / "days" / "day" “hours” / “hour” / “hr” / “h” “m” / “minute” / “min” / “minutes” / “T” “S” / “seconds” / “sec” / “second” 默认值:“D” |
| 范围 | int | 预测应返回的将来的时间段数。 单位是时序频率。 默认值:1 |
| data_dir | str,格式为dbfs:/<folder-name> |
(可选)用于存储训练数据集的 DBFS 路径。 此路径对驱动程序节点和工作器节点均可见。 如果为空,AutoML 将训练数据集保存为 MLflow 工件。 |
| exclude_ frameworks | List[str] | (可选)AutoML 在开发模型时不应考虑的算法框架列表。 可能的值:空列表,或者是“prophet”、“arima”中的一个或多个。 默认值:[](考虑所有框架) |
| experiment_dir | str | (可选)工作区中目录的路径,用于保存生成的笔记本和实验。 默认: /Users/<username>/databricks_automl/ |
| identity_col | Union[str, list] | (可选)用于标识多系列预测的时序的列。 AutoML 按这些列和用于预测的时间列进行分组。 |
| output_database | str | (可选)如果已提供,则 AutoML 会将最佳模型的预测结果保存到指定的数据库中的新表中。 默认设置:不保存预测结果。 |
| primary_metric | str | 用于评估模型性能并为其排名的指标。 支持的指标:“smape”(默认)、“mse”、“rmse”、“mae”或“mdape”。 |
| timeout_minutes | int | (可选)表示等待 AutoML 试运行完成的最长时间。 如果超时较长,则 AutoML 可以运行更多的试运行,并为模型标识更高的准确度。 默认值:无(没有时间限制) 最小值:5 分钟 如果超时太短,无法完成至少一次试运行,则会报告错误。 |
返回
AutoMLSummary
AutoML 运行的摘要对象,用于描述每个试运行的指标、参数和其他详细信息。 还可以使用此对象加载特定试运行训练的模型。
| 属性 | 类型 | 说明 |
|---|---|---|
| experiment | mlflow.entities.Experiment | MLflow 试验用于记录试运行。 |
| trials | List[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, float] | 在此试运行的 MLflow 中记录的指标。 |
| params | Dict[str, str] | 在为此试运行使用的 MLflow 中记录的参数。 |
| model_path | str | 此试运行中训练的模型的 MLflow 项目 URL。 |
| model_description | str | 模型的简短说明以及用于训练此模型的超参数。 |
| duration | str | 训练持续时间,以分钟为单位。 |
| preprocessors | str | 在训练模型之前运行的预处理器的说明。 |
| evaluation_metric_score | FLOAT | 为验证数据集评估的主要指标的评分。 |
| 方法 | 说明 |
|---|---|
| load_model() | 加载在此试运行中生成的模型,记录为 MLflow 项目。 |
API 示例
请查看这些笔记本以开始使用 AutoML。
AutoML 分类示例笔记本
AutoML 回归示例笔记本
AutoML 预测示例笔记本
databricks-automl-runtime 包
对于 Databricks Runtime 9.1 LTS ML 及以上版本,AutoML 依赖于 databricks-automl-runtime 包,该包包含 AutoML 之外有用的组件,还有助于简化 AutoML 训练生成的笔记本。 可在 databricks-automl-runtime 中获取 databricks-automl-runtime。
限制
仅报告以下特征类型:
- 数字(
ByteType、ShortType、IntegerType、LongType、FloatType和DoubleType) - Boolean
- 字符串(分类文本或英文文本)
- 时间戳(
TimestampType、DateType) - ArrayType[Numeric](Databricks Runtime 10.4 LTS ML 及更高版本)
- 数字(
不支持上面未列出的特征类型。 例如,不支持图像。
不支持具有多个同名列的数据集。
对于 Databricks Runtime 9.0 ML 及以上版本,AutoML 训练在单个节点上使用完整的训练数据集。 训练数据集必须放入单个工作器节点的内存。 如果遇到了耗尽内存的问题,请尝试使用内存更多的工作器节点。 参阅创建群集。
另外,如果可能,请使用 Databricks Runtime 9.1 LTS ML 或更高版本,在这些版本中,如果数据集太大,无法放入单个工作器节点的内存,AutoML 会自动对数据集进行采样。
要使用 Auto-ARIMA,时间序列必须有一个规则的频率(也就是说,任意两点之间的间隔必须在整个时间序列中相同)。 频率必须与 API 调用或 AutoML UI 中指定的频率单元匹配。 AutoML 通过用前一个值填充这些值,以此来处理丢失的时间步长。