Oracle数据库开始正式支持R语言


据Oracle官方博客 最近更新的New R Interface to Oracle Data Mining Available for Download,甲骨文开始正式支持R语言在Oracle数据库中的应用(简单的非官方说法是:甲骨文贡献了一个提供Oracle和R之间接口的附加包)。

援引博客中对R-ODM(R-Oracle Data Mining)的介绍:

R-ODM is especially useful for:

Quick prototyping of vertical or domain-based applications where the Oracle Database supports the application
Scripting of “production” data mining methodologies
Customizing graphics of ODM data mining results (examples: classification, regression, anomaly detection) 众所周知,R在实现原型算法方面有着不可替代的巨大优势。诚然,通过R实现的一般性数据挖掘算法都可以嵌入到数据库中,但Oracle提供的这个接口,极大地提高了挖掘算法的部署效率。

今天(2010.06.08),CRAN上更新了RODM包的1.0-2版本,支持Windows、Linux、MacOS X系统。

下面是RODM包帮助文档中的一个例子,可以初步地体会算法高效的部署:

  1. ### GLM Regression  
  2. ## Not run:  
  3. x1 <- 2 * runif(200)  
  4. noise <- 3 * runif(200) - 1.5  
  5. y1 <- 2 + 2*x1 + x1*x1 + noise  
  6. dataset <- data.frame(x1, y1)  
  7. names(dataset) <- c("X1", "Y1")  
  8. RODM_create_dbms_table(DB, "dataset")   
  9. # Push the training table to the database  
  10.    
  11. glm <- RODM_create_glm_model(database = DB,    # Create ODM GLM model  
  12.                              data_table_name = "dataset",  
  13.                              target_column_name = "Y1",  
  14.                              mining_function = "regression")  
  15.    
  16. glm2 <- RODM_apply_model(database = DB,    # Predict training data  
  17.                              data_table_name = "dataset",  
  18.                              model_name = "GLM_MODEL",  
  19.                              supplemental_cols = "X1")  
  20. windows(height=8, width=12)  
  21. plot(x1, y1, pch=20, col="blue")  
  22. points(x=glm2$model.apply.results[, "X1"],  
  23.        glm2$model.apply.results[, "PREDICTION"], pch=20, col="red")  
  24. legend(0.5, 9, legend = c("actual", "GLM regression"), pch = c(20, 20),  
  25.           col = c("blue", "red"),  
  26.      pt.bg =  c("blue", "red"), cex = 1.20, pt.cex=1.5, bty="n")  
  27.    
  28. RODM_drop_model(DB, "GLM_MODEL")            # Drop the model  
  29. RODM_drop_dbms_table(DB, "dataset")   # Drop the database table  
  30. RODM_close_dbms_connection(DB)  
  31. RODM_close_dbms_connection(DB) 

说一句题外话:

R的影响力除了在统计分析领域(SAS、SPSS、Statistica已经都开始支持R接口)外,已然发展到了商业数据库领域。

延伸阅读

R语言是主要用于统计分析、绘图的语言和操作环境。R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发。(也因此称为R)现在由“R开发核心团队”负责开发。R是基于S语言的一个GNU项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不作修改的在R环境下运行。R的语法是来自Scheme。

R的源代码可自由下载使用,亦有已编译的执行档版本可以下载,可在多种平台下运行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。R主要是以命令行操作,同时有人开发了几种图形用户界面。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3