Python, Rで使うSAS Viya!

0

みなさま、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で公開しています。

これらを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

Share

About Author

Makoto Unemi (畝見 真)

ビジネスディベロップメントグループ

データ分析によりビジネス価値を創造する「ビジネス・アナリティクス」を日本市場に浸透させる活動に長年従事し、金融・製造・通信業を中心に数多くのアナリティクス・プロジェクトの提案に参画。 現在はAIプラットフォームなど新たなテクノロジーの活用に特化した提案を担当している。 ディープラーニングや機械学習などのAIテクノロジーや大規模分析基盤アーキテクチャについての豊富な知見、経験を持つ。 新たなテクノロジーでも分かりやすく解説するプレゼンテーションには定評があり、満足度の高い講演を年間、数多く行っている。

Leave A Reply

Back to Top