Hyperparameter調優
Databricks機器學習運行時集成了Hyperopt,這是一個開源工具,可以自動進行模型選擇和超參數調優。
使用Hyperopt進行超參數調優
Databricks Runtime ML包含Hyperopt,這是一個Python庫,便於分布式超參數調優和模型選擇。使用Hyperopt,您可以掃描一組Python模型,同時在您定義的空間中改變算法和超參數。Hyperopt可以與分布式ML算法(如Apache Spark MLlib和Horovod)以及單機ML模型(如scikit-learn和TensorFlow)一起工作。
使用Hyperopt時的基本步驟是:
定義一個最小化的目標函數。這通常是訓練或驗證損失。
定義超參數搜索空間。Hyperopt提供了一個條件搜索空間,允許您在同一次運行中比較不同的ML算法。
指定搜索算法。Hyperopt使用隨機調諧算法,執行比確定性網格搜索更有效的超參數空間搜索。
運行Hyperopt功能
fmin ()
.fmin ()
獲取在前麵步驟中定義的項,並確定使目標函數最小化的超參數集。
要快速開始使用帶有scikit-learn算法的Hyperopt,請參見:
有關Hyperopt如何工作的更多細節,以及其他示例,請參見:
自動化MLflow跟蹤
請注意
MLlib自動MLflow跟蹤在運行Databricks Runtime 10.1 ML及以上版本的集群上已被棄用,在運行Databricks Runtime 10.2 ML及以上版本的集群上默認禁用。相反,使用MLflow PySpark ML自記錄通過調用mlflow.pyspark.ml.autolog ()
,默認啟用磚Autologging.
若要在Databricks Runtime 10.2 ML及以上版本中使用舊的MLlib自動MLflow跟蹤,請通過設置火花配置spark.databricks.mlflow.trackMLlib.enabled真正的
而且spark.databricks.mlflow.autologging.enabled假
.