在上一個教程中,我們已經理解了分布式計算的概念和 Dask 簡介。除了 Dask 接口的介紹,我們還了解了什么是 Dask 集群以及如何安裝 Dask。
桌面界面
正如我們已經討論過的,Dask 接口有多種用于分布式計算的并行算法集。數據科學從業者很少使用基本的用戶界面來擴展 NumPy、Pandas 和 scikit-learn:
陣列:并行 NumPy
數據幀:平行 Pandas
機器學習:并行 Scikit-Learn
我們已經在前面的教程中介紹了 Dask Array 讓我們直接進入 Dask 數據幀。
搜索簡歷
【超參數調整】 被認為是建立模型的重要一步,可以極大地改變模型的實現。機器學習模型有各種各樣的超參數,很難理解哪個參數在特定情況下表現更好。手動執行這項任務是相當令人厭煩的工作。然而,Scikit-Learn 庫提供了網格搜索,以簡化超參數調整的任務。用戶必須提供參數, Gridsearch 將提供這些參數的最佳組合。
讓我們考慮一個例子,在這個例子中,我們需要選擇一種隨機森林技術來適應數據集。該模型有三個重要的可調參數——第一參數、第二參數和第三參數。
現在,讓我們在下面設置這些參數的值:
第一個參數-自舉=真
第二參數-最大深度- [8,9]
第三參數-n _ 估計量:[50,100,200]
1。sklearn Gridsearch: 對于每一個參數組合,Scikit-learn Gridsearch 都會執行任務,有時最終會多次迭代單個任務。下圖表明,這并不是最有效的方法:
2。Dask-Search CV: 與 sklearn 的grid Search CV不同,Dask 提供了一個名為 Dask-Search CV 的庫。為了減少重復,Dask-Search CV 合并了這些步驟。我們可以通過以下步驟安裝 Dask-search :
使用 conda 安裝 Dask-搜索 CV
conda install dask-searchcv -c conda-forge
使用 pip 安裝 Dask-搜索 CV
$ pip install dask-searchcv
下圖展示了 Dask-Search CV 的工作原理:
Spark 和 Dask 的區別
以下是 Spark 和 Dask 的一個關鍵區別:
| 南號碼 | 火花 | 達斯克 | | one | Spark 是用 Scala 編程語言編寫的。 | Dask 是用 Python 編程語言編寫的。 | | Two | Spark 提供對 R 和 Python 的支持。 | Dask 只支持 Python。 | | three | Spark 提供了自己的生態系統。 | Dask 是 Python 生態系統的組成部分之一。 | | four | Spark 提供了自己的 API。 | Dask 重新利用 Pandas 的 API | | five | 對于 Scala 和 SQL 用戶來說,Spark 很容易理解和實現。 | Python 從業者通常更喜歡 Dask。 | | six | Spark 本身不支持多維數組。 | Dask 為可擴展多維陣列的 NumPy 模型提供全面支持。 |