编辑: ok2015 | 2019-07-04 |
05.19 于第6届R语言会议 当R面临大数据量 Copy-on-modify semantics ? 案例 ? loop -> 向量化运算(apply, 矩阵运算) ? apply -> c/cpp The art of R performance improvement is to build up a good intuitions for what operations incur a copy, and what occurs in place. -- https://github.com/hadley/devtools/wiki/Profiling 稀疏矩阵M的每?一列非零元素减去该列的均值 library(Matrix) ... N = M N@x =
1 S = N %*% Diagonal(colSums(M)/colSums(N)) M = M - S for (i in nrow(M)) for (j in ncol(M)) M[i, j]=M[i, j]-cs[j] for (i in ncol(M)) M[i, M[i,]!=0]=M[i, M[i,]!=0]-cs cs = colMeans(M) R能不能做并行 ? Rmpi, RHadoop ? snow, snowfall ? multicore ? foreach+iterator ? doParallel Revolution Analytics benchmark 他们选择的路径能说明?一些问题:R本身的实现并不着重考虑性能,底层代码 需要经过改造才能适应工程中大数据量的需求.而且是针对单机的实验. 最基本的问题在于 ? ?一切的并行都受限于单核时的速度 ? 这门语言最初并不是设计用于工程用途 的?社区的构成和关注点(基因) At the heart of R is a tension between interactive data analysis and programming. -- Hadley Wickham 可能是目前最合理的 包搭配 ? foreach: 任务分割方式定义 ? iterator: 迭代器 ? doParallel: R支持的并行后端 Rpark的探索 ? 源自spark和dpark ? 弹性分布式数据集:rdd ? 惰性计算 ? ?一个示例 出路 ? 定位:数据分析师而不是数据挖掘工程 师的工具.(R不是万能的,做它适合做 的事) ? 按需而行:如果不能提升整个框架,就 提升我们所需要的功能. ? 需要与底层的接口:Rcpp值得使用 前景 ? 越来越多有工程背景的人加入到这个社 区,使得R的应用领域也在拓展. ? 从而改变这门原先由统计学家主导的语 言. ? 2.13官方提供parallel包的支持 ? Rcpp的发展 ? O'Reilly 今年来出版越来越多R方面的书 Data Scientist ?一个在实际工作中未被充分定义的角色 角色描述 ? 管理数据:采集和整理数据,提供数据 报表(常规) ? 回答问题:通过数学建模、数据分析, 支持产品和运营决策(具体产品相关) ? 探索数据:从数据中发现问题、挖掘知 识,影响长期的产品策略(探索工作) 案例 ? 豆瓣FM数据统计 ? 豆瓣电影购票因素分析 ? 小组分类研究 豆瓣FM数据统计 ? ?一段时间用户行为的统计描述 ? 某项产品功能对用户行为的影响 ? 对比预定义的不同用户群体行为 收听时长差别 不同群体的出勤率 电影购票因素分析 ? 影响用户购票的各种因素及其因素中各种选择 的效用值 ? 为运营活动选片、选影院、定价等决策提供依 据 问卷调查 CBC模型(Choice-Based Conjoint, 基于选择的联合分析) 属性效用值 , 33.32 , 20.15 , 18.32 , 11.82 , 11.00 , 5.40 小组分类研究 ? 小组事实是?一个参差多态的生态系统 ? 和其他系统?一样需要明晰的分类学知识 ? 范例:林奈建立的动物分类学 ? 基于分类的演化过程 United Chaos Cold Hot IH1 IU2 IC3 SC4 SU5 SH6 SCC7 MHH8 MH9 MC10 MU11 LC12 LU13 I:: INIT S::SMALL M::MEDIUM L::LARGE X::Extra Large Y:: Extra Extra Large Z:: Extra Extra Extra Large. XU14 XCC15 XC16 YU17 YC18 ZCC19 ZC20 空白的第二象限 United Chaos Cold Hot IH1 IU2 IC3 SC4 SU5 SH6 SCC7 MHH8 MH9 MCC10.1 MU11 LC12 LU13 I:: INIT S::SMALL M::MEDIUM L::LARGE X::Extra Large Y:: Extra Extra Large Z:: Extra Extra Extra Large. XU14 XCC15 XC16 YU17 YC18 ZCC19 ZC20 HSN的类型与演化 (修正版) MCU10.2 空间A::街边集市 (IC3-SC4-SCC7) 空间B:: 社团圈子 (SU5-MU11-MH9) 空间C::俱乐部 (MCC10.1-MCU10.2) 空间D:: 社区公园(LU13-XU14-YU17) 空间E:: 商场(LC12-XCC15) 空间F:: 大型游乐场(XC16-YC18) 空间G::大型商业中心(ZCC19-ZC20) 左侧热度和连通性正相关 右侧热度和连通性负相关 合格的人才符合职位,优秀的人才定义职位 有意于豆瓣Data Scientist职位者,请豆瓣上联系?ycondor