【问题标题】:PySpark with scikit-learnPySpark 与 scikit-learn
【发布时间】:2017-07-24 18:31:10
【问题描述】:

我已经看到我们可以使用 scikit-learn 库和 pyspark 来处理单个工作人员的分区。

但是,如果我们想处理分布式的训练数据集,并且说回归算法应该关注整个数据集,该怎么办。由于 scikit learn 没有与 RDD 集成,我假设它不允许在整个数据集上运行算法,而只能在该特定分区上运行。如果我错了,请纠正我..

spark-sklearn 解决这个问题有多好

【问题讨论】:

    标签: scikit-learn pyspark


    【解决方案1】:

    如文档中所述,spark-sklearn 确实满足您的要求

    • 并行训练和评估多个 scikit-learn 模型。它是默认包含的多核实现的分布式模拟 在 scikit-learn 中。
    • 将 Spark 的 Dataframe 无缝转换为 numpy ndarray 或稀疏矩阵。

    所以,具体回答您的问题:

    但是如果我们想处理分布式的训练数据集呢? 并说回归算法应该关注整个数据集。 由于 scikit learn 没有与 RDD 集成,我假设它不允许在该特定分区上的整个数据集上运行算法

    在 spark-sklearn 中,使用 spark 作为多线程框架的 joblib 库的替代品。因此,从单台机器上的执行到多台机器上的执行都由 spark 为您无缝处理。换句话说,如Auto scaling scikit-learn with spark 文章所述:

    单机案例和集群案例的代码无需改动。

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 2018-11-01
      • 1970-01-01
      • 2015-01-31
      • 2017-04-10
      • 2013-07-01
      • 2021-03-26
      • 2019-09-04
      相关资源
      最近更新 更多