R 神经网络包对于数百万条记录来说太慢

2023-12-14

我正在尝试使用 R 包神经网络训练用于流失预测的神经网络。这是代码:

data <- read.csv('C:/PredictChurn.csv') 
maxs <- apply(data, 2, max) 
mins <- apply(data, 2, min)
scaled_temp <- as.data.frame(scale(data, center = mins, scale = maxs - mins))
scaled <- data
scaled[, -c(1)] <- scaled_temp[, -c(1)]
index <- sample(1:nrow(data),round(0.75*nrow(data)))
train_ <- scaled[index,]
test_ <- scaled[-index,]
library(neuralnet)
n <- names(train_[, -c(1)])
f <- as.formula(paste("CHURNED_F ~", paste(n[!n %in% "CHURNED_F"], collapse = " + ")))
nn <- neuralnet(f,data=train_,hidden=c(5),linear.output=F)

它按其应有的方式工作,但是当使用完整数据集(数百万行的范围内)进行训练时,它花费的时间太长。所以我知道 R 默认情况下是单线程的,所以我尝试研究如何将工作并行化到所有核心。是否有可能并行执行此功能?我尝试过各种软件包但没有成功。

有人能够做到这一点吗? 它不一定是神经网络包,任何可以让我训练神经网络的解决方案都可以。

谢谢


我对这个套餐有很好的体验Rmpi,它也可能适用于您的情况。

library(Rmpi)

简单来说,它的用法如下:

nproc = 4  # could be automatically determined
# Specify one master and nproc-1 slaves
Rmpi:: mpi.spawn.Rslaves(nslaves=nproc-1)
# Execute function "func_to_be_parallelized" on multiple CPUs; pass two variables to function
my_fast_results = Rmpi::mpi.parLapply(var1_passed_to_func,
                                      func_to_be_parallelized,
                                      var2_passed_to_func)
# Close slaves
Rmpi::mpi.close.Rslaves(dellog=T)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 神经网络包对于数百万条记录来说太慢 的相关文章

  • R中添加水印

    我在用magickR中的库 我想在一些图片上添加水印 I used image annotate功能如下 img lt image read C Users Maydin Desktop manzara png image annotate
  • 将命名参数列表传递给函数?

    我想编写一个小函数来从适当的分布生成样本 例如 makeSample lt function n dist params values lt makeSample 100 unif list min 0 max 10 values lt m
  • ggplot2可以在一个图例中分别控制点大小和线大小(线宽)吗?

    一个使用的例子ggplot2绘制数据点组和连接每组均值的线 并使用相同的映射aes for shape并为linetype p lt ggplot mtcars aes gear mpg shape factor cyl linetype
  • 基于另一个数据集获取数据集的子集

    假设我有一个数据集 即 dat1 ID block plot SPID TotHeight 1 1 1 4 44 5 2 1 1 4 51 3 1 1 4 28 7 4 1 1 4 24 5 5 1 1 4 27 3 6 1 1 4 20
  • 计算例如具有多列 data.frames 的列表中的平均值

    我有几个 data frames 的列表 每个 data frame 有几列 通过使用mean mylist first dataframe a我可以得到这个 data frame 中 a 的平均值 但是我不知道如何计算列表中存储的所有 d
  • LDA with topicmodels,如何查看不同文档属于哪些主题?

    我正在使用 topicmodels 包中的 LDA 我已经在大约 30 000 个文档上运行它 获取了 30 个主题 并获得了主题的前 10 个单词 它们看起来非常好 但我想看看哪些文档属于哪个主题的概率最高 我该怎么做 myCorpus
  • 是否可以通过扫描从控制台读取而不回显字符?

    这是一个示例函数 passwordEntry lt function cat Enter your password pwd lt scan n 1 what character quiet TRUE invisible pwd 并测试该功
  • kableExtra 中的 row_spec() 函数不会在 html 输出中创建水平线

    我想在 kableextra 表中的某一行下方添加一条水平线 row spec 函数的参数 hline after 应该在行下方添加水平线 row spec 文档 https www rdocumentation org packages
  • 如何用外部图像填充地图边界?

    我正在创建一张带有州边界的巴西地图 这可以直接使用ggplot2 and geom sf 然而 这一次 我不想用数据填充每个状态的颜色 而是想用外部图像 png 填充每个状态的边界 类似于this https online olivet e
  • R中的一元加/减是什么?

    来自 R 的详细信息部分Syntax http stat ethz ch R manual R patched library base html Syntax html帮助页面 定义了以下一元和二元运算符 他们被列出 在优先级组中 从最高
  • 我无法下载 R 中的 reshape2 包 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试安装 R 包时收到此响应 gt installed packages reshape2 Package LibPath V
  • 将绘图调用拆分为多个块

    我正在编写一个图的解释 其中我基本上将在第一个块中创建图 然后描述该输出 并在第二个块中添加一个轴 然而 似乎每个块都会强制一个新的绘图环境 因此当我们尝试使用以下命令运行块时会出现错误axis独自的 观察 output html docu
  • 在 Java 中并行处理两个任务

    我想在一个方法中调用8个方法 这8个方法中的2个方法是一个洞任务 其余6个方法是另一个洞任务 我想同时并行处理这两个任务 据我所知 我可以用线程来做到这一点 但说实话 要么我看不到与我的目标相似的示例 要么即使我看到了我也无法理解该示例 您
  • Dendextend:关于如何根据定义的组为树状图的标签着色

    我正在尝试使用一个名为 dendextend 的很棒的 R 包来绘制树状图并根据一组先前定义的组为其分支和标签着色 我已阅读您在 Stack Overflow 中的答案以及 dendextend vignette 的常见问题解答 但我仍然不
  • 为什么 dplyr filter() 不能在函数内工作(即使用变量作为列名)?

    使用 dplyr 函数对数据进行过滤 分组和变异的函数 基本管道序列在函数之外工作得很好 这就是我使用真实列名称的地方 将其放入一个函数中 其中列名称是一个变量 并且某些函数可以工作 但有些函数则不能 尤其是 dplyr filter 例如
  • 只读取选定的列

    谁能告诉我如何仅读取下面每年数据的前 6 个月 7 列 例如使用read table Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2009 41 27 25 31 31 39 2
  • 将阴影区域添加到五分位数之间的直方图中

    All 我有一个包含 2 个直方图的图表 其中我还绘制了代表第 20 40 60 和 80 个百分位数的线条 下面的代码使用虚拟数据重现了类似的图表 data lt rbind data frame x rnorm 1000 0 1 g o
  • 在 r 中的 group_by 之后建模后取消列表列的嵌套

    我想对所有组进行线性回归group by 将模型系数保存在列表列中 然后使用 unnest 扩展列表列 这里我用的是mtcars以数据集为例 注 我想用do here becausebroom tidy 不适用于所有型号 mtcars gt
  • 相当于 min() 的 rowMeans()

    我在 R 邮件列表上多次看到这个问题 但仍然找不到满意的答案 假设我有一个矩阵m m lt matrix rnorm 10000000 ncol 10 我可以通过以下方式获得每行的平均值 system time rowMeans m use
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou

随机推荐

  • DNS 消息是否将名称填充为偶数字节?

    初步说明 是的 我知道 DNS 库和易于使用的 DNS 服务器的存在 我这样做纯粹是为了学术目的 并了解 DNS 查询的工作原理 问题 我在看RFC 1035了解 DNS 消息的工作原理 我想我或多或少理解了该备忘录中的所有内容 然而 有一
  • pygame 与海龟崩溃

    我收到此错误代码 2017 04 13 03 04 14 958 Python 606 839244 SDLApplication setup unrecognized selector sent to instance 0x1007a0d
  • SQL Server 2005 中的临时表不会自动删除

    我正在对一个令人讨厌的存储过程进行故障排除 并注意到在运行它之后 并且我已经关闭了会话 许多临时表仍然留在 tempdb 中 他们的名字如下 000E262B 002334C4 004E1D4D 00583EEE 00783A7F 0083
  • 使用 MTKTextureLoader 加载远程图像

    我正在尝试将远程图像加载到MTLTexture用这个代码 let textureLoader MTKTextureLoader device device textureLoader newTexture withContentsOf ur
  • 从Github API获取特定的README.md数据

    最近 我开始尝试使用 GitHub API 从公共存储库获取特定数据 长话短说 我想从存储库中获取 README md 文件的特定部分 例如 来自 Facebook 的 React 存储库的 master 分支 我想抓取下面的文本文档Git
  • 最小列总和差是多少? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 想象一下 给定一个正整数矩阵 最大 25 15 数字值不超过 3000000 当您进行列求和并选择最小和最大的一项时 它们之间的差异必须尽可能小 您可以根据需要交换每行中的数字
  • 以 HTML 形式显示的 LaTeX 表格

    我有以下 LateX 表 在以下情况下按预期呈现format pdf title Test Table format pdf begin center begin tabular l l l hline Var Class Descript
  • 用户名网址,例如 twitter 和 facebook

    twitter 和 facebook 等如何制作唯一的 url 例如 twitter com billgates 如果我想做同样的事情 为我的用户提供带有用户名的唯一网址 它是一个应用程序还是您为每个用户创建一个带有索引页面的目录 顺便说一
  • InvalidParameterValueException:无法访问流

    我正在尝试使用 Terraform 创建 dynamodb 表和 lambda 触发器 这就是我定义表 角色策略和 lambda 触发器的方式 resource aws dynamodb table filenames name local
  • 如何更新数组中嵌套的数组中的项目

    我通过最新的 C 驱动程序 此时为 v2 7 0 使用 MongoDB 4 0 我有一份文件 其中有Options and Options have Inventory 换句话说 库存数组嵌套在选项数组中 如何了解库存水平并仅更新库存 以下
  • 如何读取和修改已绘制的 Google 图表上的轴?

    我有一个页面 上面有几个谷歌图表 主要是组合图和折线图 例如 chart new google visualization LineChart chartDiv 绘制页面后 我希望能够读取轴上的最大值 然后重新绘制图表 以便它们在轴上都具有
  • 当存在多个路由时,使用查询字符串进行路由属性路由

    我有这个 HttpGet Route Cats public IHttpActionResult GetByCatId int catId HttpGet Route Cats public IHttpActionResult GetByN
  • 在 Ant 复制任务过滤器中获取文件名

    是否可以获取 Ant 复制任务中正在复制的当前文件名 我正在尝试运行 beanshell 脚本并希望访问当前文件名
  • 错误:无法在属性初始值设定项中使用实例成员 - Swift 3

    当我编译以下代码时 出现错误 无法在属性初始值设定项中使用实例成员 AddEployeeName 属性初始值设定项在 self 可用之前运行 你能帮忙解决这个错误吗 该计划允许员工输入姓名并拍摄照片 class AddEmployeeVie
  • 具有复杂形状的 ggplot 和 grid.picture 之间的区别

    我希望获得单个字母的 x y 坐标并用 ggplot 绘制它们 我在用grImport PostScriptTrace从 Postscript 文件获取 XML 文件 从那里 我从 Picture 类的 S4 对象中提取 x y 坐标 绘制
  • 断言 UITest 中的按钮上存在图像

    我在 ZStack 中有一个带有前景图像的按钮 Button action self highlighted self highlighted ZStack Text Text if self highlighted Image highl
  • pyspark 滞后函数(基于列)

    我想实现以下目标 lag column1 datediff column2 column3 over window 偏移量是动态的 我也尝试过使用UDF 但没有成功 有什么想法如何实现上述目标吗 论点count of the lag函数采用
  • 如何使用 Java 解析 JSON 二维数组

    我有这样的 json 数据 err code 0 date 20130121 time from 1242 range 5 data 12313123 BOOK CODE CYFV3M NUM CODE 3789850802600 0898
  • aws s3 java sdk 下载 pdf 被损坏

    我正在使用 getObject api 从 aws s3 下载文件 简单的文本文件工作正常 但在下载 pdf 时我的文件已损坏 我正在使用 FileOutputStream 并将内容保存在文件中 但保存的 pdf 已损坏 我不太确定用于此目
  • R 神经网络包对于数百万条记录来说太慢

    我正在尝试使用 R 包神经网络训练用于流失预测的神经网络 这是代码 data lt read csv C PredictChurn csv maxs lt apply data 2 max mins lt apply data 2 min