みなさま、SAS Viyaはご存知でしょうか?
SAS ViyaはSASが2016年末に出した新データ分析プラットフォームでして、データの探索、整形から機械学習まで、幅広くデータ分析することができる万能品です。
こんな感じのロゴです。
SAS Viyaの特徴にインメモリエンジンによる分散処理とオープンというものがあります。
SAS Viyaでのデータ分析はすべてCASというエンジンで実行されるのですが、このCASはサーバのメモリ上にデータをロードし、分析処理が展開されます。しかも複数サーバ構成でも良い感じにスケールして並列分散処理するので、1台のサーバにデータが乗らないとか、1台だけだと遅いとかいうことはありません。
SAS Viyaの特徴
さらにSAS Viyaはオープンな特徴があります。
どうオープンなのかというと、実は裏表なく嘘のつけない性格・・・というわけではありません。
SAS ViyaはSAS言語のみならずPythonやR、Java、LuaそしてREST APIといったさまざまな言語で操作することができるオープン性を持っています。
従来のSAS製品だとSAS言語を覚えないと使うことができなかったのですが、SAS Viyaでは多くのデータサイエンティストさんが使っているPythonやRでデータ分析ができます。しかも同じプラットフォームでデータ分析するので、言語間で違う結果が出るということはありません。同じ設定で分析すれば、どの言語を使っても同じ結果が返ってきます。
さらにいえばPythonやRでデータ分析するときも、多くの場合は1台のサーバやパソコンで処理すると思います。そのさい、サーバやパソコンはCPUやメモリのすべてをデータ分析に割くということはありません。マルチコアCPUを使っていても、大体はシングルコアで処理されます。
しかしSAS Viyaではリソースを使い切ります。4コアであれば4コア、サーバ3台構成であれば3台を余さず使って、より速く効率的に分析します。
全体像でいうとこんな感じです。
どうやって使うの?
PythonやRでSAS Viyaを使いはじめるときは、まずはSWATというOSSを導入する必要があります。
SWATはSpecial Weapon and Tacticsの略・・・ではありません。
SAS Scripting Wrapper for Analytics Transferという、SAS Viyaを操作するためのラッパーです。SASが作って、GitHubで公開しています。
- Python SWAT
https://sassoftware.github.io/python-swat/index.html - R SWAT
https://github.com/sassoftware/R-swat
これらをpip installやinstall.packagesで入手して使いはじめることができます。
SWATはWindows、Linux、MacOSいずれもサポートしていますので、お好きなプラットフォームに導入できます。
Pythonでのプログラミング例はこんな感じです。たったこれだけで、SAS Viyaを使って決定木モデルを作ることができます。とても簡単です。
# SWATライブラリをインポート import swat # SAS Viyaに接続 mysession = swat.CAS("localhost", 5570, "hogehogeuser", "p@ssw0rd") mysession.loadactionset("decisionTree") # データをアップロード titanic_train = mysession.load_path(path="titanic_train.csv", casout={"name":"titanic_train", "replace":True}) # 決定木分析 dtree_train = mysession.decisionTree.dtreeTrain( table={'name':'titanic_train'}, target="survived", inputs={'pclass','sex','age','sibsp','parch','fare','embarked','destination'}, nominals={'sex', 'embarked', 'destination', 'survived'}, casOut={"name":"titanic_dtree_scoremodel", "replace":True} ) |
好きな言語で楽しい分析ライフ!
というわけで、SAS Viyaの紹介でした。
SAS Viyaを使えばお好きな言語で楽しい分析ライフが待っています。
ご興味もっていただければ幸いです。
Python / R で使うSAS Viya