Apache Spark:在分区上并行应用 sklearn 的函数

2024-04-24

我是大数据和 Apache Spark 的新手(也是一名在导师指导下工作的本科生)。

是否可以将函数(即样条曲线)仅应用于 RDD 的分区?我正在尝试实现论文中的一些工作here http://sites.stat.psu.edu/~rli/research/huge.pdf.

《Learning Spark》一书似乎表明这是可能的,但没有解释如何实现。

“如果您有许多小数据集想要训练不同的学习模型,那么最好使用单节点学习库(例如 Weka 或 SciKit-Learn)在每个节点上,也许调用它跨节点并行使用 Sparkmap()."


事实上,我们有一个库可以做到这一点。我们有几个 sklearn 变换器和预测器已启动并正在运行。它的名字是sparkit-learn。
从我们的例子来看:

from splearn.rdd import DictRDD  
from splearn.feature_extraction.text import SparkHashingVectorizer  
from splearn.feature_extraction.text import SparkTfidfTransformer  
from splearn.svm import SparkLinearSVC  
from splearn.pipeline import SparkPipeline  

from sklearn.feature_extraction.text import HashingVectorizer  
from sklearn.feature_extraction.text import TfidfTransformer  
from sklearn.svm import LinearSVC  
from sklearn.pipeline import Pipeline  

X = [...]  # list of texts  
y = [...]  # list of labels  
X_rdd = sc.parallelize(X, 4)
y_rdd = sc.parralelize(y, 4)
Z = DictRDD((X_rdd, y_rdd),
            columns=('X', 'y'),
            dtype=[np.ndarray, np.ndarray])

local_pipeline = Pipeline((
    ('vect', HashingVectorizer()),
    ('tfidf', TfidfTransformer()),
    ('clf', LinearSVC())
))
dist_pipeline = SparkPipeline((
    ('vect', SparkHashingVectorizer()),
    ('tfidf', SparkTfidfTransformer()),
    ('clf', SparkLinearSVC())
))

local_pipeline.fit(X, y)
dist_pipeline.fit(Z, clf__classes=np.unique(y))

y_pred_local = local_pipeline.predict(X)
y_pred_dist = dist_pipeline.predict(Z[:, 'X'])

你可以找到它here https://github.com/lensacom/sparkit-learn.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache Spark:在分区上并行应用 sklearn 的函数 的相关文章

随机推荐

  • Shadow DOM v1 CSS 填充

    https developers google com web fundamentals getting started primers shadowdom https developers google com web fundament
  • 如何在实体框架代码优先中设置 0..* 关系?

    我有两个类的下一个代码 public class Object public int ObjectID get set public int Object2ID get set public virtual Object2 Object2
  • MediaButtonIntentReceiver 在 Android 4.0+ 中不工作

    目标是拦截来自耳机以及蓝牙的广播 以响应来自耳机的不同类型的点击来改变媒体播放器 该解决方案适用于 ICS 之前的所有版本 这是我尝试过的一些代码和事情 private BroadcastReceiver mediaButtonReceiv
  • Wicket、页面堆栈和内存使用情况

    Wicket 应用程序序列化并缓存所有页面以支持有状态组件 以及支持后退按钮 以及其他可能的原因 我有一个使用 setResponsePage 在屏幕之间导航的应用程序 在很短的时间内 会话就会变得相当大 因为所有先前的页面都存储在会话中
  • 如何在 IIS 7.5 中启用 GZIP 压缩

    我想使用 GZIP 压缩我的文件 您能分享一下使用 GZIP 压缩文件的 web config 代码吗 上传 web config 文件后还需要做什么吗 GZip 压缩可以直接通过 IIS 启用 首先 打开IIS 转到您希望调整的网站并点击
  • 在 Docker 中使用私有模块构建 Go 应用程序

    我正在尝试在依赖于私有子模块的 docker 容器中构建一个 go 项目 我本来希望 mount type ssh会将我的 ssh 凭据传递给容器并且它会起作用 目前我可以在本地构建 只需制作GOPRIVATE变量集和git config
  • 从代码中获取全局色调颜色

    有没有办法通过代码从我的项目中获取全局色调颜色 为了避免误解 我指的是全局色调 我可以在文件检查器中设置它 Easy 目标C UIColor tintColor self view tintColor Swift let tintColor
  • 根据其他数据框的函数创建新的数据框

    我是 R 的新手 所以我可能很难提出我的问题 请多多包涵 我有两个数据框 为了解释起见 我们假设 df1 柱形代表收益类型 玉米 燕麦 小麦等 行代表一年中的月份 一月 二月等 Elements 代表在该特定月份购买的增益类型的每吨价格 d
  • 从Sql服务器中选择表并将数据插入到Mysql表中

    我有一个正在运行的 ms sql 服务器 并且希望将一些数据复制到 mysql 数据库 我已经可以连接到它们 所以我做了类似的事情 pdo new PDO SQLSERVER user password sql SELECT id name
  • 在 swift 中使用 UUID() 和 json

    我在网上找到了在 json 文件中使用硬编码 uuid 的示例 并且这些示例非常适合我 但是当我在应用程序中添加从 json 数组中删除项目的功能时 我需要动态创建这些 uuid 这是我的json文件 list json 它曾经有硬编码的i
  • Objective-C 中的二叉树

    我正在学习算法和数据结构 并尝试使用 Objective C 设计和实现二叉树进行训练 到目前为止 我有以下课程 main 供测试用 Node 树的节点 BinaryTree 对于与树相关的所有方法 最早的方法之一BinaryTree我实现
  • 创建一个过程来检索表上的所有索引并重建

    我想创建一个过程来检索表上的所有索引并重建 我用这个查询检索所有索引 select index name from user indexes where table name your table name 我用这个查询重建 alter i
  • 以编程方式获取导航栏的高度

    我知道更多视图控制器 导航栏 的存在将 UIView 的高度推低 我也知道这个高度 44px 我还发现这种下推可以维持 self view frame origin y 0 那么 除了将其设置为常量之外 如何确定该导航栏的高度呢 或者 更短
  • Java 堆转储是否包括线程堆栈

    我一直在使用 Eclipse 内存分析工具来检查堆转储 我还没有看到任何对象通过线程堆栈中的局部变量保持活动状态的情况 java线程堆栈是否保留在堆转储中 如果不是 这些对象是否会被视为转储中无法访问的对象 如果是这样 是否有任何方法可以保
  • C# 位图/图形内存不足

    我正在尝试拍摄整个屏幕的快照以读取像素值 事实上我这样做没有任何问题 但在 214 个快照之后 我出现了内存不足的异常 Bitmap ScreenShot new Bitmap Screen PrimaryScreen Bounds Wid
  • 从 C# Windows 窗体在 MS Word 中打开 MS Word 文档

    我希望能够通过单击表单上的按钮 从 C 表单中打开 MS Word 中已制作的 Word 文档 但不知道如何操作 请帮忙 Thanks 上次我使用 Excel 时 我使用以下代码打开它 Process Start FileLocation
  • 使用ExternalContext.redirect()将面孔消息添加到重定向页面

    我在用ExternalContext redirect String 将用户重定向到另一个页面的方法 FacesContext getCurrentInstance addMessage new FacesMessage Bla bla b
  • java.lang.NoClassDefFoundError:无法解析:Landroid/webkit/PacProcessor

    实在找不到言语 我的项目只是一天天都无法编译 这就是我所做的 我下载并显示一个 PDF 然后将其作为保存的 PDF 打印到设备上 然后崩溃了 这是崩溃的情况 at java lang Class java lang Class classF
  • 将预处理器宏添加到 xcode 6 中的目标

    也许这非常简单 但我找不到在 Xcode 6 中为目标定义预处理器宏的方法 我已经做了一个屏幕截图来显示它在 Xcode 中的位置 因为它更容易 选择项目文件 选择您想要的目标 转到构建设置 搜索 预处理器 添加用于调试 发布或两者的预处理
  • Apache Spark:在分区上并行应用 sklearn 的函数

    我是大数据和 Apache Spark 的新手 也是一名在导师指导下工作的本科生 是否可以将函数 即样条曲线 仅应用于 RDD 的分区 我正在尝试实现论文中的一些工作here http sites stat psu edu rli rese