据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包帮助文档中的一个例子,可以初步地体会算法高效的部署:
###GLMRegression ##Notrun: x1<-2*runif(200) noise<-3*runif(200)-1.5 y1<-2+2*x1+x1*x1+noise dataset<-data.frame(x1,y1) names(dataset)<-c("X1","Y1") RODM_create_dbms_table(DB,"dataset") #Pushthetrainingtabletothedatabase glm<-RODM_create_glm_model(database=DB,#CreateODMGLMmodel data_table_name="dataset", target_column_name="Y1", mining_function="regression") glm2<-RODM_apply_model(database=DB,#Predicttrainingdata data_table_name="dataset", model_name="GLM_MODEL", supplemental_cols="X1") windows(height=8,width=12) plot(x1,y1,pch=20,col="blue") points(x=glm2$model.apply.results[,"X1"], glm2$model.apply.results[,"PREDICTION"],pch=20,col="red") legend(0.5,9,legend=c("actual","GLMregression"),pch=c(20,20), col=c("blue","red"), pt.bg=c("blue","red"),cex=1.20,pt.cex=1.5,bty="n") RODM_drop_model(DB,"GLM_MODEL")#Dropthemodel RODM_drop_dbms_table(DB,"dataset")#Dropthedatabasetable RODM_close_dbms_connection(DB) 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主要是以命令行操作,同时有人开发了几种图形用户界面。