作者MADNUG (就是比你长)
看板R_Language
标题Re: [问题] sapply用在整个data.fram(平行运算)
时间Fri Oct 2 04:59:35 2015
後来参考了celestialgod大这篇的范例
#1Hocf0cY (R_Language)
改用snowfall进行平行运算
速度大大大大大幅提升,真是太神奇了!
程式更新如下
http://pastebin.com/avAHvyhd
虽然还是写得有点不明不白的= =
不过总算把速度提升到只花不到150秒
之前至少要15分钟
看到task manager里面好多r session把CPU占满满
就觉得过瘾
另外发现吃效能的其实不在lm,而是step,
可能还要再看看有没有更好的方法可以取代掉这函数
※ 引述《MADNUG (就是比你长)》之铭言:
: [问题类型]:
:
: 效能谘询(我想让R 跑更快)
:
: [问题叙述]:
: 最近在用cross-validation来model selection
: 在目前的样本随机抽取(with replacement)N笔後配适模型
: 上述步骤重复100次,
: 接着N改为N+5,再重复100次,如此N+5k一直做下去
: 目前是用for-loop
: 但觉得跑得好慢
: 於是在想说不知是否能用apply族的函数
: 但看了说明,大多是对data.fram的每个栏执行function
: 好像没发现有对整个data.fram执行function
: 故上来请教一下
: 有想过不然创建个维度100的LIST,每个LIST都是一整个data.fram
: 不过还没试不知道可不可行= =
: [程式范例]:
:
: http://pastebin.com/avAHvyhd
:
: [环境叙述]:
:
: R version 3.2.2 (2015-08-14)
: Platform: x86_64-w64-mingw32/x64 (64-bit)
: Running under: Windows 8 x64 (build 9200)
:
: [关键字]:
:
: 选择性,也许未来有用
:
--
唔~ ? 呃~
○ ─○○
_仄_○ √_/ ̄\
(欲拒还迎) (排山倒海)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 184.6.253.131
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1443733181.A.566.html