In a recent #SASchat we explored the intersection of artificial intelligence and human creativity. Posing questions like, "How is AI impacting human creativity?" And, "What will it take for the public to fully trust AI?" In the lively online conversation, a few themes prevailed: Automation enabled by AI frees humans
Tag: Artificial Intelligence
前回、この機能を紹介した際には、海外に実在する施設や地図上での活用例をご覧いただきました。 その続編となる今回は、以下の2点に関してご紹介します。 (尚、以下のデモ画面に表示されている数値(座席数、利用率、収益率、等)はすべてダミーデータです) 1.日本地図上に実在する施設に対するカスタム境界線分析 2.カスタム境界線機能で、こんなことまでできるなんて… 1.日本地図上に実在する施設に対するカスタム境界線分析 私は埼玉県さいたま市に在住しているのですが、だからというわけではありませんが、今回は、埼玉スタジアムの座席レイアウトを地図上の埼玉スタジアム上に描画してみました。(図1.参照) 図1.埼玉スタジアム地図上に描画された、観客席レイアウト 図1.では、「客席別利用率」ページが表示されています。 左側には客席ゾーン別の座席数が棒グラフで表示され、右側には、スタジアムの客席レイアウトが表示され、利用率によって色分けされています。また、棒グラフ上でゾーンCが選択され、スタジアム内の対応する客席の部分がハイライトされている状態です。 もちろん、SAS Visual Analytics(以降、VA)の標準機能を使用して、特定の客席エリアをクリックし、そのエリアのチケット料金や、収益の推移、などの詳細情報をポップアップで表示させることも可能です。 右側の地図が本当に埼玉スタジアムのある地点なのかを分かりやすく見ていただくために、図2.ではズームアウトしたものも載せました。埼玉スタジアムは国道122号線沿いにあるんですね。 図2.図1.から地図を少しズームアウトした状態 以下の図3.は同じレポート内の「ゾーン別客席マップ」ページです。棒グラフのゾーン別の色に合わせて、客席エリアの色を合わせたものです。 図3.「ゾーン別客席マップ」ページ 2.カスタム境界線機能で、こんなことまでできるなんて… 実は、VAの地図描画用オブジェクトである、「ジオマップ」では、地図を非表示にすることができます。 あれ?、地図描画用の機能なのに、地図を非表示にする意味あるの?と思われるかと思いますが、これがあるんですね。 その一例をご紹介します。 以下の図4.は、とある列車の車両内の座席別収益率を分析するレポートです。座席ごとの収益率が色分けで表示されています。(座席別に収益率を把握する必要があるかどうかは別のお話ですが) 図4.列車内座席別収益率レポート この座席レイアウトも「ジオマップ」オブジェクトを使用し、地図上に描画されているものなのですが、地図は境界線(領域)を描くためには必要ですが、この例のような場合は、描いた後は地図が必要ないので非表示にしているわけです。地図を非表示にしていること以外は、その他の例と同様に、チャートやアナリティクスとのインタラクション等はもちろん可能です。 上記の図4.でも、座席別収益率の棒グラフ上で、最も収益率の低い座席(右端の棒)を選択し、該当の座席位置をハイライト表示しています。 SAS Visual Analytics on SAS Viyaでは、こんなこともできるんですね。 例えば、人体図の中の内臓別の疾患状況をビジュアルに分析する、工場内プラントの設備(工程)ごとの稼働状況を図解でビジュアルに可視化し分析する、店舗内の商品陳列棚別の在庫状況や売上状況を図解でビジュアルに可視化し分析する…なんていうこともできそうですね。
If you think machine learning will replace demand planners, then don’t read this post. If you think machine learning will automate and unleash the power of insights allowing demand planners to drive more value and growth, then this article is a must read.
Background: Prof. Dr. oec. HSG Holger K. von Jouanne-Diedrich ist seit 2013 Professor für Wirtschaftsinformatik und Customer Relationship Management an der Hochschule Aschaffenburg, Bayern. Er promovierte am Institut für Wirtschaftsinformatik der Universität St. Gallen, Schweiz, und studierte Betriebswirtschaftslehre an der Universität Hamburg. Weiterhin hatte er verschiedene Stationen bei der Lufthansa, der
Imaginar que a través de un comando de voz pudiera analizar escenarios de negocio y predecir rendimientos, o tomar cualquier acción de negocio, ya no son ideas futuristas e irreales. El hecho de que, en los últimos dos años, los ejecutivos de las 500 empresas de Fortune tengan inquietud sobre
予測モデル生成において、従来は、人が考えてデータの中から特徴を抽出する必要がありましたが、ディープラーニングでは、この特徴を自動的に抽出して学習することが可能になっています。 半面、どのように特徴が抽出されているのかに関しては、基本的にはブラックボックスであり、説明責任が求められるような業務要件では、その分析結果を業務に活用することが難しい場合もあります。 しかし、近年ディープラーニングから出てきた結果の根拠=判断根拠を可視化する手法がいくつか考案されてきています。 関連情報サイト: https://qiita.com/icoxfog417/items/8689f943fd1225e24358 https://pair-code.github.io/saliency/ http://blog.brainpad.co.jp/entry/2017/07/10/163000 SAS Viyaでは、各種のディープラーニング(DNN, CNN, RNN)を用いた学習が可能ですが、今回はCNNを用いた画像認識において、判断根拠となり得る情報の出力に関してご紹介します。 この例は、複数のイルカの画像をCNNで学習し、対象の画像(写真)がイルカなのかどうかを判別するものです。 モデルを作成後、以下の画像をモデルに当てはめてスコアリングを実施。 この画像は「イルカ」だと判定されたのですが、その判断根拠の一つとして、以下のように、この画像のどの部分がより重要であると判断されているのかを可視化することが可能になっています。 【レイヤー1のfeature map】 【レイヤー18のfeature map】 SAS Viyaでは、モデルのスコアリング時のオプションとして、指定したレイヤ(層)の特徴マップ(feature map)を画像として指定ライブラリに出力することが可能です。 >> スコアリング用のアクション:”dlScore” の layerOut={出力先ライブラリとテーブル名} オプションと layers={出力対象レイヤ名} オプション >> 上図はライブラリに出力された画像(feature map)を表示したものです。
Let’s lay down some fundamentals. In business you want to achieve the highest revenues with the best margins and the lowest costs. More specifically, in manufacturing, you want your products to be the highest quality (relative to specification) when you make the item. And you want it shipped to the
2017年12月にSAS Viyaの最新版3.3がリリースされました。 これに伴い、皆様には、大幅に拡張されたSAS Viyaの機能を存分に体感いただくために今版から、皆様がお持ちの「実データ」でSAS Viyaベースのすべての製品を自由に触っていただけるようになりました。 ぜひ、ご利用ください! 利用手順に関しては、以下のブログをご覧ください。 SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~
SAS Viyaがリニューアルされまして、ついにディープラーニングが登場しました! SAS ViyaのディープラーニングではオーソドックスなDeep Neural Network(DNN)から、画像認識で使われるConvolutional Neural Network(CNN、畳込みニューラルネットワーク)、連続値や自然言語処理で使われるRecurrent Neural Network(RNN、再帰的ニューラルネットワーク)まで利用可能になります。 ディープラーニングを使うことのメリットは、従来の機械学習やニューラルネットワークが苦手としている画像や文章を認識し、高い精度で分類や推論することが可能になります。 高い精度というのは、ディープラーニングのモデルによっては人間の目よりも正確に画像を分類することができるということです。 例えばコモンドールという犬種がありますが、この犬はモップのような毛並みをしていて、人間ではモップと見間違えることがあります。 これは犬? それともモップ? こういう人間だと見分けにくい画像に対しても、ディープラーニングであれば、人間よりも正確に犬かモップかを見分けることができるようになります。 というわけで、今回はSAS Viyaのディープラーニングを使って画像分類をしてみたいと思います。 ディープラーニングの仕組み 画像分類のディープラーニングではCNNを使います。 CNNは画像の特徴を探し出す特徴抽出層と特徴から画像を分類する判定層で構成されています。 特徴抽出層は主に畳込み層とプーリング層で構成されています。 畳込み層で入力画像に対し、ピクセルの特徴(横線の有無とか斜め線とか)を探し出し、プーリング層で重要なピクセルを残す、という役割分担です。 判定層は、特徴抽出層が見つけた特徴をもとに、画像の種類を分類します。 例えば犬と猫の分類であれば、特徴抽出層が入力画像から、面長で大きな鼻の特徴を見つけだし、犬と分類します。 または、丸っこい顔立ちと立った耳の特徴を見つけだし、猫と分類します。 SAS Viyaで画像を扱う SAS ViyaディープラーニングでCifar10をネタに画像分類をしてみたいと思います。 Cifar10は無償で公開されている画像分類のデータセットで、10種類の色付き画像60,000枚で構成されています。 各画像サイズは32×32で、色はRGBです。 10種類というのは飛行機(airplane)、自動車(automobile)、鳥(bird)、猫(cat)、鹿(deer)、犬(dog)、蛙(frog)、馬(horse)、船(ship)、トラック(truck)で、それぞれ6,000枚ずつ用意されています。 画像は総数60,000枚のうち、50,000枚がトレーニング用、10,000枚がテスト用です。 画像データは以下から入手することができます。 https://www.cs.toronto.edu/~kriz/cifar.html さて、Cifar10を使って画像分類をしてみます。言語はPython3を使います。 SAS Viyaで画像分類をする場合、まずは入手したデータをCASにアップロードする必要があります。 CASはCloud Analytics Servicesの略称で、インメモリの分散分析基盤であり、SAS Viyaの脳みそにあたる部分です。 SAS Viyaの分析は、ディープラーニング含めてすべてCASで処理されます。 CASではImage型のデータを扱うことができます。 Image型とは読んで字のごとくで、画像を画像フォーマットそのままのバイナリで扱えるということです。
It's that time of year, once again, when I take a traditional Christmas song or carol and create a fun technology-related version of it to share with all of you. This is the fourth year and the seventh song, so I hope you enjoy your holiday song for 2017: AI
Autounfall und positives Kundenerlebnis? Wie passt das denn zusammen? Vor einigen Monaten ist es dann doch passiert: einmal unaufmerksam gewesen und Auffahrunfall in der Stadt verursacht. So ein Mist! Nicht wirklich schlimm – nur ein bisschen Blechschaden, aber super ärgerlich … Nachdem das Auto abgeschleppt und der erste Ärger verflogen
Künstliche Intelligenz (KI), maschinelles Lernen (ML) und Analytics erleben zurzeit einen wahren Boom. Geht es nach den Anbietern, gelangen Produktionsabteilungen mithilfe von Industrie 4.0 und Digitalisierung in ein neues, goldenes Zeitalter, in dem Maschinen „selbstlernend“ für Qualitätsverbesserungen und Kostenreduktion sorgen. Doch anfänglichem Enthusiasmus und ersten positiven Erkenntnissen folgt meist Ernüchterung,
I recently spent two days with an innovative communications customer explaining exactly what SAS analytics can do to help them take their advertising platform to a whole new level. Media meets data resulting in addressable advertising. SAS would essentially be the brain behind all their advertising decisions, helping them ingest
Any look back at analytics in 2017 makes it clear that machine learning and artificial intelligence appear to be the ‘next big things’ that can solve just about any problem, from writing new hit songs to curing disease. Not one to buy into the hype, I became curious as to
In meinem vorherigen Blog bin ich darauf eingegangen, was künstliche Intelligenz (KI) bereits kann – und dass der Hype längst noch nicht in der operativen Realität bei Unternehmen angekommen ist. Letzteres ist eine Erkenntnis der aktuellen SAS Studie „The Enterprise AI Promise: Path to Value“. Was die Umfrage darüber hinaus
„… Internet, Internet, ich hör‘ hier immer Internet. Sag’n Se‘ ma‘, ganz richtig ist das nicht!“ Der Service-Manager errötet nach seinem Rap. Lenin schwankt zwischen Belustigung und bolschewistischem Ingrimm: Stellt der Rote Rapper seine Erfolge im Internet of Things infrage? Der Rapper fährt fort: „Denn diese Daten, die Sie verbraten,
Es claro que este año que está por finalizar ha traído grandes cambios para todo el mundo en cuanto a transformación digital se trata, se estructuraron cambios en las industrias, la economía e incluso las formas de comunicación con sus clientes. Pero la tecnología no se detiene y cada día
Es claro que este año que está por finalizar ha traído grandes cambios para todo el mundo en cuanto a transformación digital se trata, se estructuraron cambios en las industrias, la economía e incluso las formas de comunicación con sus clientes. Pero la tecnología no se detiene y cada día que pasa
SAS Viyaで線形回帰を行う方法を紹介します。 言語はPythonを使います。 SAS Viyaで線形回帰を行う方法には大きく以下の手法が用意されています。 多項回帰: simpleアクションセットで提供。 一般化線形回帰または一般線形回帰: regressionアクションセットで提供。 機械学習で回帰: 各種機械学習用のアクションセットで提供。 今回は単純なサインカーブを利用して、上記3種類の回帰モデルを作ってみます。 【サインカーブ】 -4≦x<4の範囲でサインカーブを作ります。 普通に $$y = sin(x) $$を算出しても面白みがないので、乱数を加減して以下のようなデータを作りました。これをトレーニングデータとします。 青い点線が $$y=sin(x)$$ の曲線、グレーの円は $$y=sin(x)$$ に乱数を加減したプロットです。 グレーのプロットの中心を青い点線が通っていることがわかります。 今回はグレーのプロットをトレーニングデータとして線形回帰を行います。グレーのプロットはだいぶ散らばって見えますが、回帰モデルとしては青い点線のように中心を通った曲線が描けるはずです。 トレーニングデータのデータセット名は "sinx" とします。説明変数は "x"、ターゲット変数は "y" になります。 各手法で生成したモデルで回帰を行うため、-4≦x<4 の範囲で0.01刻みで"x" の値をとった "rangex" というデータセットも用意します。 まずはCASセッションを生成し、それぞれのデータをCASにアップロードします。 import swat host = "localhost" port = 5570 user = "cas" password = "p@ssw0rd"
先日投稿した「機械学習のパラメータをオートチューニングしよう(分類編)!」の続きです。 今回は回帰分析をオートチューニングします。 あらまし 機械学習の課題はパラメータチューニングで、手動で最高のパラメータを探そうとすると、とても時間がかかり効率的ではありません。 SAS Viyaではパラメータチューニングを自動化するオートチューニング機能を提供しています。 オートチューニング機能を使うことで、限られた時間内、条件下で最高のパラメータを探索し、予測モデルを生成することができます。 今回やること 今回はオートチューニングを使って数値予測モデルを生成します。 使うデータは架空の銀行の金融商品販売データです。顧客の取引履歴と営業履歴から構成されており、新たな金融商品の販売数を予測するデータとなっています。 内容は以下のようになっており、約5万行、22列の構成です。 1行1お客様データとなっていて、顧客の口座情報や取引履歴、営業履歴が1行に収納されています。 ターゲット変数はcount_tgtで、これは各顧客が購入した金融商品数を表しています。 ほとんどが0(=未購入)ですが、購入されている顧客の購入数を予測するモデルを生成します。 今回はランダムフォレストを使って予測したいと思います。 ランダムフォレストは別々の決定木を複数作り、各決定木の予測値をアンサンブルして最終的な予測値とする機械学習の一種です。 まずは手動で予測 SAS Viyaでランダムフォレストを使って予測モデルを生成するにあたり、まずはCASセッションを作ってトレーニングデータとテストデータをインメモリにロードします。 # PythonからCASを操作するためのSWATライブラリをインポート import swat # 接続先ホスト名、ポート番号、ユーザー名、パスワードを指定 host = "localhost" port = 5570 user = "cas" password = "p@ssw0rd" # mysessionという名称のCASセッションを作成 mysession = swat.CAS(host, port, user, password)
機械学習で予測モデルを作るとき、課題のひとつにパラメータのチューニングがあります。 パラメータとはどういう設定値や制限値で機械学習の予測モデルを作るのかを示すものです。 料理に例えると、チャーハンを作る過程が機械学習のアルゴリズムだとすると、どういう具材をどのくらいの量入れるのかがパラメータです。 お米の品種や卵の有無、豚肉か鶏肉か、調味料の種類や量がパラメータになります。チャーハンの良し悪しはこれらパラメータの良し悪しに左右されます。おいしいチャーハンを食べるためには、具材をベストな組み合わせと量で投入する必要があります。 昼食においしいチャーハンを食べたので、チャーハンでたとえました。 話を戻すと、機械学習の決定木の深さであったり、ニューラルネットワークのニューロン数であったり、パラメータは自分で設定する必要があります。機械学習では複数のパラメータを組み合わせて、ベストなレシピを作らねば良い予測モデルは作れません。 SAS Viyaでは各種機械学習アルゴリズムを提供していますが、各機械学習にそれぞれのパラメータが用意されています。料理に例えると、メニューにチャーハンのみならず餃子、ラーメン、寿司、ステーキ、チーズケーキがあるようなものです。シェフ(≒データサイエンティスト)は全てのベストなレシピ(≒パラメータ)を探索せねばならず、労力がいります。 しかし! SAS Viyaには更に便利な機能として、オートチューニングというものが用意されています。 オートチューニングは最も良いパラメータを短い時間で探索してくれる機能です。料理に例えると、究極のチャーハンレシピをViyaが自動的に作ってくれる機能です。夢のようですね。 オートチューニングでは機械学習のパラメータを変えながら複数の予測モデルを作り、最も良い予測モデルのパラメータを探してくれるというものです。決定木だけでもパラメータは10種類以上あるのですが、それらの最良な値をみつけてくれます。 パラメータチューニングを行う際、最も安易な探索方法は各パラメータの全パターンを試すことです。全パターンを試せば、その中から最も良いものはたしかにみつかります。しかし欠点はパラメータチューニングに長い時間がかかってしまい、現実的な手法ではありません。 SAS Viyaのオートチューニングはより賢いパラメータ探索のアルゴリズムを4種類用意しています。 遺伝的アルゴリズム(Genetic Algorithm, GA):パラメータを遺伝子と見立てて、淘汰、交叉、突然変異を組み換えすことでパラメータを探索する。 ラテン超方格サンプリング(Latin HyperCube Sampling, LHS):層別サンプリングの一種で、各パラメータをn個の区間に分割し、区間からランダムに値を取り出してパラメータを探索する。 ベイズ最適化(Bayesian Optimization):説明変数と予測の間にブラックボックス関数があると仮定し、ブラックボックス関数のパラメータの分布を探索する。 ランダムサンプリング(Random Sampling):ランダムにパラメータの値を選択して探索する。 探索アルゴリズムを詳しく説明していると終わらないので説明を短くまとめました。SAS Viyaではいずれかのアルゴリズムを利用してオートチューニングを実行することができます。 今回はPythonからSAS Viyaを操作して、オートチューニングを試してみたいと思います。 まずはPython SWATをimportし、CAS Sessionを生成してデータをロードします。 # PythonからCASを操作するためのSWATライブラリをインポート import swat # mysessionという名称のCASセッションを作成 mysession = swat.CAS(host, port, user, password) #
SAS Viyaでは購入前に使い勝手を試していただくため、無償使用版を提供しています。 https://www.sas.com/ja_jp/software/viya.html#preview もう試していただいた方もいらっしゃるかもしれませんが、SAS StudioやJupyter Notebook、Visual AnalyticsからSAS Viyaを操作して、データマイニングや機械学習を便利に試していただくことが可能です。 この無償使用環境では動作確認済みのデモプログラムを提供していますので、機械学習やプログラミングに不慣れでも迷うことはありません。 しかし機械学習を実業務で使い始めようとすると、どのプロシージャやメソッドを使えば良いのか、わからなくなることが多々あります。 SAS Viyaでは機械学習ユーザに不足ないよう、多種多様なプロシージャを提供していますが、プロシージャが増えるとどの場面でどれを使うんだっけ?と迷ってしまいます。 そこで、SAS Viyaのチートシートを作ってみました。 このチートシートを使えば、用途にあわせて必要なプロシージャを選択していくことができます。 SAS Viyaが提供するプロシージャから重要なものを掲載しています。 SAS ViyaはSAS PROCとActionsetという2種類のプログラミング仕様があります。 チートシートもPROC用とActionset用で2種類作りました。 PDF版は以下にありますので、ぜひご参照ください。 viya_cheat_sheet_20170721_jp
みなさま、こんにちは。 さて突然ですが、フーリエ変換ってご存知ですか? おそらく物理学や経済学で波形データを分析したことのある方には馴染みがあるでしょうが、フーリエ変換は波形データを扱う手法です。 フーリエ変換では周期的な波形を、sin波やcos波の重ね合わせで説明しようというものです。 たとえば以下のような波形データは、どの時間にどのくらいの強さの波が流れているかを表現しています。 これをフーリエ変換することで、周波数と振幅で表すことができるようになります。 ↓ フーリエ変換! ↓ 従来のSAS製品では波形データでフーリエ変換をする機能を提供していなかったのですが、SAS ViyaのSAS Forcastingという製品を使うことで、フーリエ変換を実施することができるようになりました。 SAS Viyaでできるのは短時間フーリエ変換(Short time Fourier transform)です。 今回はSAS Viyaでフーリエ変換を実施してみたいと思います。プログラミング言語はPythonを使用します。 まずは前準備として、必要なライブラリをインポートし、CAS sessionを作成します。 CAS sessionはSAS Viyaでデータ分析を行うCASというエンジンへ認証し、接続するものです。 # CAS sessionの用意 import swat host = "localhost" port = 5570 user = "user" password = "p@ssw0rd" mysession = swat.CAS(host, port, user, password) #
みなさんは、SAS Viyaを無償で試す方法を知っていますか? 手順は簡単、 ① SAS Japanホームページ内のSAS Viya無償試用開始サイトにアクセス ② 無償試用版リストから希望の製品を選択 ③ SASプロファイル情報を登録 ④ 登録済みのSASプロファイル情報でサインイン ⑤ SASから届くメール内にある試用版サイトリンクをクリックし、同メール内に記載されたIDとパスワードでサインイン ⑥ SAS Viyaにサインインして試用開始 これだけです。 ※尚、このガイドは、2018年8月時点の内容に基づいて作成されています。利用手順は予告なく変更される場合がありますので、実際に表示される画面や送られてくるメール内容に従っての操作をお願いします。 ブラウザはChrome 64bit版が推奨です。(ブラウザは Chrome 61以上, Firefox 56以上, MS Edge40.1以上を使用してください) では、1ステップずつ詳しくご紹介しましょう。 ① SAS Japanホームページ内のSAS Viya無償試用開始サイトにアクセス 以下のリンクをクリックして、SAS Viya無償試用開始サイトを表示しよう。 https://www.sas.com/ja_jp/software/viya.html#preview ② 無償試用版リストから希望の製品を選択 この手順では、「SAS Visual Data Mining and Machine Learning」を選択した例で紹介しています。 (以下のリストに表示されていない製品に関しては、チュートリアル等使用をガイドするような資料は提供していませんが、同一環境内で試用することはできます。) ③ SASプロファイル情報を登録 (すでにSASプロファイル登録済みの場合は、このステップは必要ありません。) 以下の画面内で、「Create one」リンクをクリックします。
5月23日に開催されたSAS Forum Japan 2017の「SAS Viyaディープダイブ」セッションでは、SASのAIに搭載されている画像処理機能が入門レベルとして紹介されました。 セッション内では、皆様にとってもお馴染みの「浅草雷門」の写真を使った画像マッチングのデモも紹介しました。雷門を正面から撮った写真の中から、「雷門の提灯」の部分を切り出し、これをテンプレート画像として使用し、この「雷門の提灯」が写っている写真だけを画像マッチングによって見つけ出すというデモです。 さあ、ちゃんと「雷門の提灯」が写っている写真だけを見つけ出すことができたのでしょうか? 以下は、Jupyter Notebookを使用し、PythonからSAS の画像処理機能を活用してマッチングを実行した結果です。(コードの一部抜粋) 【ライブラリのインポート】 In [16]: # import libraries import swat import matplotlib.pyplot as plt import os import json import numpy as np 【テンプレート画像「雷門の提灯」のロード】 In [24]: # load an image to cas r = conn.image.loadImages(casout={"caslib":"casuser", 'name':tmp_file_data[0], 'replace':True}, path=tmp_file_path) tmpTable = conn.CASTable(tmp_file_data[0]) 【この画像にマッチングさせます】 【マッチング対象画像のロード】
5月23日に開催されたSAS Forum Japan 2017では、通常のセッション枠とは別に、「スーパーデモ」と題して、各種SAS製品やソリューションのデモが紹介されました。通常セッションの休憩時間はもとより、セッション時間中でも多くの方々が「スーパーデモ」エリアに集まり、食い入るようにデモも見られていました。 その中で、私が実施したデモ内容をご紹介します。 SASのAI機能は、SAS言語のみならず、Python, R, Java, Luaなどの汎用プログラミング言語からも活用可能ですが、このデモでは、SAS Studioを使用し、SAS言語でSASのAI機能を活用したモデル作成を行いました。 詳細(スライド版)に関しては、以下をご覧ください。(SlideShareに公開済み) SAS言語派集まれ!SAS StudioからSAS Viyaを使ってみよう! from SAS Institute Japan 詳細(デモ版)に関しては、以下をご覧ください。(YouTubeに公開済み) 今なら無償でSAS Viyaを試用することができます。詳細は以下のブログを参照してください。 SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~
5月23日に開催されたSAS Forum Japan 2017の「SAS Viyaディープダイブ」セッションでは、SASのAIに搭載されている教師なし学習の3つの手法(SVDD(Support Vector Data Description), ロバストPCA, Moving Window PCA)を用いた異常検知の概要が紹介されました。 手法ごとの適用分野やSAS Studioを用いて実行した結果の紹介と、異常検知を業務に適用する際に留意すべき事項も交えてご紹介しています。 詳細(スライド内容)に関しては、以下をご覧ください。(SlideShareに公開済み) SAS Viya で異常検知してみよう! from SAS Institute Japan 詳細(講演ビデオ)に関しては、以下をご覧ください。(YouTubeに公開済み) 今なら無償でSAS Viyaを試用することができます。詳細は以下のブログを参照してください。 SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~
5月23日に開催されたSAS Forum Japan 2017の「SAS Viyaディープダイブ」セッションでは、SASのAIに搭載されている画像処理機能が入門レベルとして紹介されました。 従来からSASを活用されている方々にとっては、「SAS」と「画像処理」って、なかなか結びつかないのではないでしょうか? 「画像処理技術」に関して、SASではどのようなアプローチをとってきているのか...を、過去、現在、そして未来に分けて紹介しています。 詳細(スライド内容)に関しては、以下をご覧ください。(SlideShareに公開済み) Pythonで操るSAS Viyaの画像処理技術入門編 from SAS Institute Japan 詳細(講演ビデオ)に関しては、以下をご覧ください。(YouTubeに公開済み)
みなさま、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を使って決定木モデルを作ることができます。とても簡単です。 #
はじめに 以前このブログ「グラフ理論入門:ソーシャル・ネットワークの分析例」でもご紹介しましたが。SASは従来からネットワーク分析(グラフ分析)をサポートしています。ネットワーク分析の基本的なことはまず上記のブログをご参照ください。 今回は、プログラミングスキルがあるアプリケーション開発者やデータサイエンティスト向けです。Pythonからネイティブに利用できるSAS Viyaを使用して、ネットワーク分析をする簡単な利用例をご紹介します。 2016夏にリリースされたSAS Viyaは、アナリティクスに必要な全てのアルゴリズムを提供しつつ、かつオープンさを兼ね備えた全く新しいプラットフォームです。これにより、SAS Viyaをアプリケーションにシームレスに組み込むことや、どのようなプログラミング言語からでもアナリティクス・モデルの開発が可能になりました。今回は、SASのパワフルなアナリティクス機能にアクセスするために、そのオープンさがどのように役立つののかにフォーカスします。 前提条件 SAS Viyaは、REST APIにも対応しているため、それを使用しても良いのですが、一般的には、使い慣れたプログラミング言語を使用する方が効率が良いと考えられるため、今回は、データサイエンティストや大学での利用者が多い、Pythonを使用したいと思います。 デモ環境としては、Pythonコードを実行できるだけでなく書式付テキストも付記できる、Webベースのオープンな対話型環境であるJupyter Notebookを使用します。Jupyterをインストールした後に、SAS Scripting Wrapper for Analytics Transfer(SWAT)をインストールする必要があります。このパッケージは、SAS Cloud Analytic Services(CAS)に接続するためのPythonクライアントです。これにより、Pythonから全てのCASアクションを実行することが可能となります。SWATパッケージの情報やJupyter Notebookのサンプルはこちらをごらんください。https://github.com/sassoftware SAS Cloud Analytic Services(CAS)にアクセスする SAS Viyaのコアにあるのは、SAS Cloud Analytic Services(CAS: キャス)というアナリティクスの実行エンジンです。"CASアクション"という個々の機能を実行したり、データにアクセスしたりするためには、CASに接続するためのセッションが必要となります。セッションからCASへの接続には、バイナリ接続(非常に大きなデータ転送の場合にはこちらが推奨です)あるいは、HTTP/HTTPS経由のREST API接続のどちらかを使用することができます。今回は、デモンストレーション目的で非常に小さなデータを扱うので、RESTプロトコルを使用します。SAS ViyaとCASのより詳細な情報はこちらのオンラインドキュメントをごらんください。 多くのプログラミングと同様、まずは使用するライブラリの定義からです。Pythonでは、importステートメントを使用します。非常に良く使われるmatplotlibライブラリに加えて、ネットワークをビジュアライズするためのnetworkxも使用します。 from swat import * import numpy as np import pandas as pd import matplotlib.pyplot as