zhubing1866的个人博客分享 http://blog.sciencenet.cn/u/zhubing1866

博文

R与高性能计算

已有 3139 次阅读 2014-12-11 23:18 |个人分类:算法工具|系统分类:科研笔记

在大数据环境下,数据分析对算法中高性能计算的要求越来越高。R作为一门专著于统计分析的语言,如何实现提高计算性能,可以从下面三个层次来实现:

(1) 向量化

与C等语言不同,R的底层结构使得它可以使用向量化和矩阵运算的技巧来实现来提高性能。

举两个例子:

例1:聚类算法中类距离的计算

DM<-matrix(rnorm(1000*50),1000,50) # 50个变量1000个样本。

方法A:使用矩阵运算

运算时间:0.06秒

方法B:二层for 循环

运算时间:4.64秒

方法C:一层for 循环+apply()函数

运算时间:3.72秒

可见灵活运用 矩阵计算及apply()系列函数,可以极大得提供运算速度。

此外,还可以使用Openblas等底层矩阵运算库替换现有库Blas库,加速运行。

当然对于不能进行向量化的运算, R也提供了C和Java接口。使用者可以这些语言来编写程序,然后在R里面调用。

(2) 并行计算

(3)Map-reduce 框架

对于(2)(3) R提供了一些软件包来实现,极大地提高了运算效率  



https://blog.sciencenet.cn/blog-2039801-850331.html

上一篇:找寻你的数据科学家
下一篇:机器学习笔记(1)概率统计知识要点
收藏 IP: 87.64.72.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-16 17:31

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部