Hyperparameter調優

Databricks機器學習運行時集成了Hyperopt,這是一個開源工具,可以自動進行模型選擇和超參數調優。

使用Hyperopt進行超參數調優

Databricks Runtime ML包含Hyperopt,這是一個Python庫,便於分布式超參數調優和模型選擇。使用Hyperopt,您可以掃描一組Python模型,同時在您定義的空間中改變算法和超參數。Hyperopt可以與分布式ML算法(如Apache Spark MLlib和Horovod)以及單機ML模型(如scikit-learn和TensorFlow)一起工作。

使用Hyperopt時的基本步驟是:

  1. 定義一個最小化的目標函數。這通常是訓練或驗證損失。

  2. 定義超參數搜索空間。Hyperopt提供了一個條件搜索空間,允許您在同一次運行中比較不同的ML算法。

  3. 指定搜索算法。Hyperopt使用隨機調諧算法,執行比確定性網格搜索更有效的超參數空間搜索。

  4. 運行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