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