什麼是 AutoML?
AutoML 可自動為您尋找最佳的演算法和超參數位態,簡化將機器學習套用至數據集的程式。
AutoML 的運作方式為何?
請提供資料集並指定機器學習問題的類型,然後 AutoML 會執行下列操作:
- 清理並準備資料。
- 跨多個演算法協調分散式模型訓練和超參數調整。
- 使用 scikit-learn、xgboost、LightGBM、Prophet 和 ARIMA 中的開放原始碼評估演算法尋找最佳模型。
- 呈現結果。 AutoML 還將為每個試用產生原始程式碼筆記本,可讓您視需要檢閱、重現和修改程式碼。
透過用於回歸的低程式碼 UI 開始使用 AutoML 實驗; 分類;或預測,或 Python API。
需求
Azure Databricks 建議 Databricks Runtime 10.4 LTS ML 或更新版本,以取得 AutoML 正式運作。
AutoML 相依於
databricks-automl-runtime
套件,其中包含 AutoML 外部有用的元件,也有助於簡化 AutoML 定型所產生的筆記本。 可在 PyPI 上取得databricks-automl-runtime
。除了 Databricks Runtime for Machine Learning 中預先安裝的程式庫之外,不應在叢集上安裝其他程式庫。
- 對現有程式庫版本的任何修改 (移除、升級或降級) 都會由於不相容而導致執行失敗。
若要存取工作區中的檔案,您必須為 AutoML 實驗開啟網路連接埠 1017 和 1021。 若要開啟這些連接埠或確認它們已開啟,請檢閱雲端 VPN 防火牆組態和安全性群組規則,或者連絡本機雲端系統管理員。 如需有關工作區組態和部署的其他資訊,請參閱建立工作區。
將計算資源與支援的計算存取模式搭配使用。 並非所有計算存取模式都可以存取 Unity Catalog:
比較存取模式 AutoML 支援 Unity Catalog 支援 單一使用者 支援 (必須是叢集的指定單一使用者) 支援 共用存取模式 不支援 不支援 未共用隔離 支援 不支援
AutoML 演算法
AutoML 會根據下表中的演算法來定型和評估模型。
注意
對於分類和迴歸模型,決策樹、隨機樹系、羅吉斯迴歸和具有隨機梯度下降演算法的線性迴歸基於 scikit-learn。
分類模型 | 迴歸模型 | 預測模型 |
---|---|---|
決策樹 | 決策樹 | Prophet |
隨機樹系 | 隨機樹系 | Auto-ARIMA (在 Databricks Runtime 10.3 ML 及更新版本中可用。) |
羅吉斯迴歸 | 隨機梯度下降的線性迴歸 | |
XGBoost | XGBoost | |
LightGBM | LightGBM |
試用筆記本產生
傳統計算 AutoML 會產生試用版後方的原始程式碼筆記本,以便您可以視需要檢視、重現和修改程式代碼。
對於預測實驗,AutoML 產生的筆記本會自動匯入至工作區以進行所有實驗試用。
對於分類和迴歸實驗,AutoML 產生的用於資料探索的筆記本和實驗中的最佳試用將會自動匯入至工作區。 其他實驗試用產生的筆記本將儲存為 DBFS 上的 MLflow 成品,而不是自動匯入到工作區。 對於除最佳試用之外的所有試用,不會設定 notebook_path
Python API 中的 notebook_url
和 TrialInfo
。 如果需要使用這些筆記本,您可以使用 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 值。 由於這些計算需要大量記憶體,因此預設不會執行這些計算。
若要計算和顯示 Shapley 值,請執行以下操作:
- 移至 AutoML 產生的試用筆記本中的 [特徵重要度] 區段。
- 設定
shap_enabled = True
。 - 重新執行筆記本。