Oracle R Enterpriseでは、Comprehensive R Archive Network (CRAN)のオープン・ソースのRパッケージまたは他のサード・パーティのRパッケージの関数を使用する場合、通常は、埋込みRの実行のコンテキストで行います。埋込みRの実行を使用すると、データベース・サーバー上の多量である可能性の高いRAMを利用できます。
ただし、Oracle Database表のデータに対してローカルのRセッションでサード・パーティのパッケージを使用する場合は、ore.pull
関数を使用して、データをore.frame
オブジェクトからローカル・セッションにdata.frame
オブジェクトとして取得する必要があります。これは、DBAの協力なしにデータベースからデータを抽出できることを除いて、オープン・ソースRを使用する場合と同様です。
データベース表からローカルのdata.frame
にデータをプルする場合、ローカル・マシンのメモリーに適合するデータ量に使用が制限されます。ローカル・マシンでは、埋込みRの実行で提供される利点を利用できません。
kernlab
パッケージの使用例は、例2-13を参照してください。
関連項目:
『R Administration and Installation Guide』(http://cran.r-project.org/doc/manuals/r-release/R-admin.html
)
例3-78 クライアントへのサード・パーティ・パッケージのダウンロード、インストールおよびロード
この例では、CRANパッケージkernlab
のダウンロード、インストールおよびロードを示します。kernlab
パッケージには、カーネル・ベースの機械学習手法が含まれています。この例では、install.packages
関数を呼び出してこのパッケージをダウンロードしてインストールします。次に、library
関数を呼び出してパッケージをロードします。
install.packages("kernlab") library("kernlab")例3-78のリスト
R> install.packages("kernlab") trying URL 'http://cran.rstudio.com/bin/windows/contrib/3.0/kernlab_0.9-19.zip' Content type 'application/zip' length 2029405 bytes (1.9 Mb) opened URL downloaded 1.9 Mb package 'kernlab' successfully unpacked and MD5 sums checked The downloaded binary packages are in C:\Users\rquser\AppData\Local\Temp\RtmpSKVZql\downloaded_packages R> library("kernlab")
例3-79 kernlabパッケージ関数の使用方法
この例では、demo
関数を呼び出して、kernlab
パッケージ内のサンプル・プログラムを検索します。このパッケージにはサンプルが含まれていないため、この例ではksvm
関数のヘルプを取得します。このヘルプからサンプル・コードを呼び出します。
demo(package = "kernlab") help(package = "kernlab", ksvm) data(spam) index <- sample(1:dim(spam)[1]) spamtrain <- spam[index[1:floor(dim(spam)[1]/2)], ] spamtest <- spam[index[((ceiling(dim(spam)[1]/2)) + 1):dim(spam)[1]], ] filter <- ksvm(type~.,data=spamtrain,kernel="rbfdot", + kpar=list(sigma=0.05),C=5,cross=3) filter table(mailtype,spamtest[,58])例3-79のリスト
> demo(package = "kernlab") no demos found > help(package = "kernlab", ksvm) # Output not shown. > data(spam) > index <- sample(1:dim(spam)[1]) > spamtrain <- spam[index[1:floor(dim(spam)[1]/2)], ] > spamtest <- spam[index[((ceiling(dim(spam)[1]/2)) + 1):dim(spam)[1]], ] > filter <- ksvm(type~.,data=spamtrain,kernel="rbfdot", + kpar=list(sigma=0.05),C=5,cross=3) > filter Support Vector Machine object of class "ksvm" SV type: C-svc (classification) parameter : cost C = 5 Gaussian Radial Basis kernel function. Hyperparameter : sigma = 0.05 Number of Support Vectors : 970 Objective Function Value : -1058.218 Training error : 0.018261 Cross validation error : 0.08696 > mailtype <- predict(filter,spamtest[,-58]) > table(mailtype,spamtest[,58]) mailtype nonspam spam nonspam 1347 136 spam 45 772