SAS Viyaを使って機械学習を行う方法としてはStudioというWebアプリケーションで行う方法と、Python/Java/R/SASといった言語から操作する方法とがあります。
今回はR言語を使ったSAS Viyaのコントロール法についてまとめました。
ライブラリの読み込み
まずSASライブラリを読み込みます。
library('swat')
セッションを開始する
サーバに繋ぎます。
s <- CAS('localhost', port=5570, caslib="casuer")
アクションセットを読み込む
処理によって異なるアクションセットを読み込みます。今回はデータを読み込むだけのtableを指定します。
loadActionSet(s, 'table')
データを読み込む
処理対象のデータを読み込みます。インポート先のテーブルも指定します。
indata_dir <- "data"
indata <- "hmeq"
cas.table.loadTable(s,caslib="casuser", path=paste0(indata_dir,"/",indata,".sas7bdat"), casout=list(name=indata, replace=TRUE))
テーブルの情報を表示
tableInfoでテーブルの概要情報が表示できます。
cas.table.tableInfo(s, name='HMEQ')
Name | Rows | Columns | Encoding | CreateTimeFormatted | ModTimeFormatted | JavaCharSet | CreateTime | ModTime | Global | Repeated | View | SourceName | SourceCaslib | Compressed | Creator | Modifier |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HMEQ | 5960 | 13 | utf-8 | 23Jul2018:07:59:39 | 23Jul2018:07:59:39 | UTF8 | 1847951980 | 1847951980 | 0 | 0 | 0 | data/hmeq.sas7bdat | CASUSER(viyauser) | 0 | viyauser |
テーブルのデータを表示
fetchでテーブルのデータを表示できます。toで表示する行数を指定します。
cas.table.fetch(s, table="hmeq", to=5)
Index | BAD | LOAN | MORTDUE | VALUE | REASON | JOB | YOJ | DEROG | DELINQ | CLAGE | NINQ | CLNO | DEBTINC |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1100 | 25860 | 39025 | HomeImp | Other | 10.5 | 0 | 0 | 94.36667 | 1 | 9 | NaN |
2 | 1 | 1300 | 70053 | 68400 | HomeImp | Other | 7.0 | 0 | 2 | 121.83333 | 0 | 14 | NaN |
3 | 1 | 1500 | 13500 | 16700 | HomeImp | Other | 4.0 | 0 | 0 | 149.46667 | 1 | 10 | NaN |
4 | 1 | 1500 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ||
5 | 0 | 1700 | 97800 | 112000 | HomeImp | Office | 3.0 | 0 | 0 | 93.33333 | 0 | 14 | NaN |
まとめ
Rで機械学習を分かりやすく書けるのがSAS Viyaの良いところです。他にもJava、Python、SASにも対応していますので、好きな言語でぜひお試しください!