跳转到主要内容

Spark上运行scikit-learn的集成工具

项目描述

此软件包包含一些工具,可以将流行的Spark计算框架scikit-learn机器学习库集成。除此之外,它还可以

  • 并行训练和评估多个scikit-learn模型。它是scikit-learn中默认包含的多核实现的分布式版本。

  • 将Spark的数据帧无缝转换为numpy的ndarray或稀疏矩阵

  • (实验性)将Scipy的稀疏矩阵作为稀疏向量数据集分发

它专注于数据量小且可以并行运行的问题。对于小数据集,它使用Spark在Spark中分布式地搜索估算器参数(scikit-learn中的GridSearchCV)。对于不适合内存的集数据,我们建议使用Spark MLlib中的分布式实现

此软件包分布简单任务,如网格搜索交叉验证。它不分布式单个学习算法(与Spark MLlib不同)。

安装

此软件包可在PYPI上获得。

pip install spark-sklearn

此项目也作为Spark软件包提供。

开发版本有以下要求

  • scikit-learn 0.18或0.19。以后的版本可能也可以工作,但目前的测试与0.20版本不兼容。

  • Spark >= 2.1.1。Spark可以从Spark网站下载。为了使用此软件包,您需要使用pyspark解释器或另一个符合Spark规范的Python解释器。有关更多详细信息,请参阅Spark指南

  • nose(仅作为测试依赖项)

  • pandas,如果使用pandas集成或测试。已测试pandas==0.18。

如果您想使用开发版本,只需确保在启动pyspark解释器时,python/子目录位于PYTHONPATH中即可。

PYTHONPATH=$PYTHONPATH:./python:$SPARK_HOME/bin/pyspark

您可以直接运行测试

cd python && ./run-tests.sh

这需要环境变量SPARK_HOME指向您的本地Spark副本。

示例

以下是一个使用Spark运行网格搜索的简单示例。有关安装软件包的说明,请参阅安装部分。

from sklearn import svm, datasets
from spark_sklearn import GridSearchCV
iris = datasets.load_iris()
parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}
svr = svm.SVC(gamma='auto')
clf = GridSearchCV(sc, svr, parameters)
clf.fit(iris.data, iris.target)

此分类器可以作为任何scikit-learn分类器的即插即用替换,具有相同的API。

文档

API文档目前托管在Github pages上。要自己构建文档,请参阅docs/中的说明。

https://travis-ci.org/databricks/spark-sklearn.svg?branch=master

项目详情


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源代码分发

spark-sklearn-0.3.0.tar.gz (28.2 kB 查看哈希值

上传时间 源代码

由以下支持