Apache SparkML模型的超參數調優需要非常長的時間,這取決於參數網格的大小。你可以在SparkML中提高交叉驗證步驟的性能,以加速事情:
- 在運行任何特性轉換或建模步驟(包括交叉驗證)之前緩存數據。多次引用數據的進程受益於緩存。記住調用一個動作DataFrame使緩存生效。
- 對象內部增加並行度參數CrossValidator,它設置運行並行算法時使用的線程數。缺省值為1。有關更多信息,請參閱CrossValidator文檔。
- 的內部,不要使用管道作為評估器CrossValidator規範。在某些情況下,特性開發人員與模型一起進行調優,在模型內部運行整個管道CrossValidator是有意義的。然而,這將為每個參數組合和折疊執行整個管道。因此,如果隻有模型被調優,則將模型規範設置為CrossValidator.