PythonDask(第2部分)
在上一个教程中,我们已经理解了分布式计算的概念和 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 模型提供全面支持。 |