4.5 クライアントでのサード・パーティのパッケージの使用について
Oracle Machine Learning for Rでは、Comprehensive R Archive Network (CRAN)のオープン・ソースのRパッケージまたは他のサード・パーティのRパッケージの関数を使用する場合、通常は、Embedded R Executionのコンテキストで行います。
埋込みRの実行を使用すると、データベース・サーバー上の多量である可能性の高いメモリーを利用できます。
ただし、Oracle Database表のデータに対してローカルのRセッションでサード・パーティのパッケージを使用する場合は、ore.pull
関数を使用して、データをore.frame
オブジェクトからローカル・セッションにdata.frame
オブジェクトとして取得する必要があります。これは、DBAの協力なしにデータベースからデータを抽出できることを除いて、オープン・ソースRを使用する場合と同様です。
データベース表からローカルのdata.frame
にデータをプルする場合、ローカル・マシンのメモリーに適合するデータ量に使用が制限されます。ローカル・マシンでは、埋込みRの実行で提供される利点を利用できません。
ノート:
ADBでOMLノートブックを使用する場合、Conda環境はオブジェクト・ストレージに格納されます。詳細は、Conda環境を作成および保存するための管理タスクを参照してください。サード・パーティのパッケージを使用するには、システムにインストールして、Rセッションでロードする必要があります。
kernlab
パッケージの使用例は、例3-15を参照してください。
例4-3 クライアントへのサード・パーティ・パッケージのダウンロード、インストールおよびロード
この例では、CRANパッケージkernlab
のダウンロード、インストールおよびロードを示します。kernlab
パッケージには、カーネル・ベースの機械学習手法が含まれています。この例では、install.packages
関数を呼び出してこのパッケージをダウンロードしてインストールします。次に、library
関数を呼び出してパッケージをロードします。
install.packages("kernlab") library("kernlab")
この例のリスト
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\oml_user\AppData\Local\Temp\RtmpSKVZql\downloaded_packages R> library("kernlab")
例4-4 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])
この例のリスト
> 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
親トピック: サードパーティ・パッケージのインストール