运行scikit learn on spark的集成工具

spark-sklearn的Python项目详细描述


这个包包含一些工具来集成Spark computing framework 与流行的scikit-learn machine library。除此之外,它还可以:

  • 并行训练和评估多个scikit学习模型。它是对 multicore implementation默认包含在scikit-learn
  • 将Spark的数据帧无缝转换为numpyndarray或稀疏矩阵
  • (实验)将scipy的稀疏矩阵作为稀疏向量集进行分布

它关注的是数据量小并且可以并行运行的问题。 对于小数据集,它分配对估计器参数的搜索(scikit learn中的GridSearchCV), 使用火花。对于不适合内存的数据集,我们建议使用distributed implementation in `Spark MLlib

这个包分发简单的任务,比如网格搜索交叉验证。 它不分发单独的学习算法(不像spark mllib)。

安装

此软件包在PYPI上提供:

pip install spark-sklearn

此项目也可用作Spark package

开发人员版本有以下要求:

  • scikit学习0.18或0.19。较新版本可能可以工作,但测试当前与0.20不兼容。
  • 火花=2.1.1.Spark可以从Spark website下载。 为了使用这个包,您需要使用pyspark解释器或其他与spark兼容的python 翻译。见Spark guide 更多细节。
  • nose(仅测试依赖项)
  • 熊猫,如果使用熊猫集成或测试。熊猫=0.18已经过测试。

如果要使用开发人员版本,只需确保python/子目录位于 PYTHONPATH启动pyspark解释器时:

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

您可以直接运行测试:

cd python && ./run-tests.sh

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

示例

下面是一个使用spark运行网格搜索的简单示例。参见Installation部分 如何安装软件包。

fromsklearnimportsvm,datasetsfromspark_sklearnimportGridSearchCViris=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学习分类器的替代品,使用相同的api。

文档

API documentation当前托管在github页面上。到 自己构建文档,请参阅docs/中的说明。

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将jasper集成到jhipster项目中   java无法忽略lombok注释   关于tomcat日志的java问题   java@Autowired未设置字段>NullPointerException   GUI提交按钮不工作   java气泡和选择排序   java如何编写规则来匹配两个数组?   java如何找出某个字符在字符串中的第一次、第二次或第三次出现?   java通过字符串引用id   javascript在网络视图中加载在线图表   java保留web应用程序中用户更改的日志   在安卓中尝试使用Mandrill SMTP发送电子邮件时出现java错误   用java语言将a2b4c5等字符串转换为AABBCCCCC的程序是什么?   java无需TODO即可删除所有注释   java JMX MBean在应用程序部署时自动注册   java如何使用JSON解析从任何url解析数据   java@transactional注释类使用代理包装,但未创建事务   JavaFx转换和打印