什么是 AutoML?
Databricks AutoML 通过自动查找最佳算法和超参数配置,简化了将机器学习应用到数据集的过程。
请提供数据集并指定机器学习问题的类型,然后 AutoML 便会执行以下操作:
- 清理和准备数据。
- 跨多个算法协调分布式模型训练和超参数调整。
- 使用 scikit-learn、xgboost、LightGBM、Prophet 和 ARIMA 中的开源评估算法查找最佳模型。
- 显示结果。 AutoML 还将为每个试用生成源代码笔记本,使你可以根据需要查看、重现和修改代码。
通过低代码 UI 或 Python API 开始使用 AutoML 试验。
要求
- Databricks Runtime 9.1 ML 或更高版本。 正式版 (GA) Databricks Runtime 10.4 LTS ML 或更高版本。
- 对于时序预测,需要 Databricks Runtime 10.0 ML 或以上版本。
- 对于 Databricks Runtime 9.1 LTS ML 及以上版本,AutoML 依赖于
databricks-automl-runtime
包,该包包含在 AutoML 之外有用的组件,还有助于简化 AutoML 训练生成的笔记本。 可在 PyPI 中获取databricks-automl-runtime
。
- 除了在用于机器学习的 Databricks Runtime 中预安装的库以外,群集上不应安装其他库。
- 对现有库版本的任何修改(删除、升级或降级)都会由于不兼容而导致运行失败。
- AutoML 与共享访问模式群集不兼容。
- 若要将 Unity Catalog 与 AutoML 配合使用,群集访问模式必须是“单用户”,并且你需是为该群集指定的单一用户。
- 若要访问工作区中的文件,必须为 AutoML 试验开启网络端口 1017 和 1021。 若要开启这些端口或确认它们已开启,请查看云 VPN 防火墙配置和安全组规则,或者联系本地云管理员。 有关工作区配置和部署的其他信息,请参阅创建工作区。
AutoML 算法
Databricks AutoML 根据下表中的算法训练和评估模型。
注意
对于分类和回归模型,决策树、随机林、逻辑回归和具有随机梯度下降算法的线性回归均基于 scikit-learn。
分类模型 | 回归模型 | 预测模型 |
---|---|---|
决策树 | 决策树 | |
随机林 | 随机林 | Auto-ARIMA(在 Databricks Runtime 10.3 ML 及更高版本中可用。) |
逻辑回归 | 随机梯度下降的线性回归 | |
XGBoost | XGBoost | |
LightGBM | LightGBM |
试用笔记本生成
AutoML 会在试用后生成源代码笔记本,以便你可以根据需要查看、重现和修改代码。
对于预测试验,AutoML 生成的笔记本会自动导入工作区,用于对试验进行所有试用。
对于分类和回归试验,AutoML 生成的用于数据探索的笔记本和试验中的最佳试用将会自动导入工作区。 其他试验试用生成的笔记本都将保存为 DBFS 上的 MLflow 项目,而不是自动导入工作区。 对于除最佳试用版之外的所有试用版,不会设置 TrialInfo
Python API 中的 notebook_path
和 notebook_url
。 如果需要使用这些笔记本,可使用 AutoML 试验 UI 或 databricks.automl.import_notebook
Python API 将其手动导入工作区。
如果仅使用 AutoML 生成的数据探索笔记本或最佳试用笔记本,AutoML 试验 UI 中的“源”列包含指向生成的最佳试用版笔记本的链接。
如果在 AutoML 试验 UI 中使用其他生成的笔记本,则这些笔记本不会自动导入工作区。 可以通过单击每个 MLflow 运行来查找笔记本。 IPython 笔记本保存在运行页的“项目”部分中。 如果工作区管理员启用了下载项目,则可以下载此笔记本并将其导入工作区。
用于模型可解释性的 Shapley 值 (SHAP)
注意
对于 MLR 11.1 及更低版本,如果数据集包含 datetime
列,则不会生成 SHAP 图。
AutoML 回归和分类运行生成的笔记本包括用于计算 Shapley 值的代码。 Shapley 值基于博弈论,并估计每个特征对模型预测的重要性。
AutoML 笔记本将使用 SHAP 包计算夏普利值。 由于这些计算会占用大量内存,因此默认情况下不会执行。
若要计算和显示 Shapley 值,请执行以下操作:
- 转到 AutoML 生成的试用笔记本中的“特征重要性”部分。
- 设置
shap_enabled = True
。 - 运行该笔记本。