基于pyspark的分布式scikit学习元估计器

sk-dist的Python项目详细描述


LicenseBuild StatusPyPI Package

这是什么?

sk-dist是一个python模块,用于在 scikit-learn并且是 分布在Apache 2.0 software license下面。这个 sk-dist模块可以看作是“分布式scikit学习” 它的核心功能是扩展内置的scikit-learnjoblib元估计训练的并行化 spark

主要功能

  • 分布式训练-sk-dist并行化 scikit-learnpyspark的元估计量。这允许 这些估计器的无约束分布训练 任何一台机器的物理资源。不管怎样,斯帕克 伪影会自动从拟合的估计器中去除。这些 然后可以对预测任务的估计器进行pickle和unpickle, 在其^{tt3}的预测时间相同地运行$ 相对应的人。支持的任务是:
  • 分布式预测-sk-dist提供预测模块 建造vectorized UDFs 对于 PySparkDataFrames 使用拟合的scikit-learn估计量。这将分发 predictpredict_proba方法的scikit-learn 估计器,使用scikit-learn启用大规模预测。
  • {STR 1 } $特征编码< /强> -^ TT1}$提供了灵活的特征 编码实用程序,名为Encoderizer,它对混合类型进行编码 使用默认行为或用户定义的要素空间 可自定义设置。它特别针对文本特性,但是 它还处理数字和字典类型的特征空间。

安装

依赖性

sk-dist需要:

sk dist不支持python 2

火花依赖性

大多数sk-dist功能都需要安装Spark以及 皮斯帕克。有些功能可以在没有Spark的情况下运行,因此与Spark相关 不需要依赖项。sk-dist与spark的关系 仅依赖于sparkContext作为 sk-dist实例化时的类。

多种火花配置和设置将工作。这是留给 用户配置自己的Spark设置。测试已在上完成 spark 2.4,但是任何spark 2.0+版本都可以工作。

其他与火花相关的依赖项是pyarrow,它仅用于 对于skdist.predict函数。它使用矢量化的熊猫乳房 需要pyarrow>=0.8.0。根据Spark版本的不同,它可能是 必须设置 spark.conf.set("spark.sql.execution.arrow.enabled", "true")在 火花配置。

用户安装

安装sk-dist的最简单方法是使用pip

pip install --upgrade sk-dist

您还可以下载源代码:

git clone https://github.com/Ibotta/sk-dist.git

测试

安装了pytest后,您可以在本地运行测试:

pytest sk-dist

测试注意事项

关于单元测试的注意事项:单元测试只为测试而编写 (1)不需要sparkContext和(2)具有的功能 包要求之外没有依赖项。这意味着 许多分布式的spark功能不包含在单元中 测试

示例

为了获得更完整的测试体验并确保您的火花 分布和配置与sk-dist兼容,请考虑 运行 examples (哪一个在spark环境中实例化一个sparkContext

背景

这个项目是在机器学习的Ibotta Inc.开始的 团队合作,2019年开源。

它目前由ibotta的机器学习团队维护。

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

推荐PyPI第三方库


热门话题
集合在Java中迭代哈希集的最佳方式   java cobertura maven插件在接口中不使用java8默认方法声明吗?   使用目录路径创建新类型“文件”对象时发生java无效URL/非法参数异常   java仅序列化超类   java在调用运行时后检测图形界面。行政长官()   java我的排序算法只运行一次   java构建JavaFX应用程序   java如何在Swing窗格中使用击键触发超链接   安卓 SD卡内容存在,但无法查看   java如何使用getClass()。getResource()方法   java为各种设备调整服务器上的图像大小   在java中检查数组   仅当执行Runnable JAR:java时引发eclipse异常。lang.NoClassDefFoundError:org/apache/logging/log4j/LogManager