AIプラットフォームであるSAS Viyaでは、SAS言語のみならず、PythonやR、Java、Luaなどの汎用プログラミング言語からViyaのAI&アナリティクスの機能を使用し、予測モデルを生成することができるようになっています。しかし、昨今、「AI民主化」の流れに沿って、予測モデル生成を必要としているのはデータサイエンティスト(以降:DS)だけではなく、業務部門のビジネスアナリストや一般のビジネスユーザーも必要としています。こうしたコーディングスキルを持たないビジネスユーザー向けに、SAS Viyaでは、GUI上でマウスの簡単操作だけで予測モデル生成を可能としています。 もちろん、DSの中にも、コーディングせずに、もっと簡単に精度の高い予測モデルを生成できる手段があれば活用したいと感じている人達もいます。 SAS Viyaでは、Model Studioを使用し、機械学習のモデル、時系列予測のモデル、テキストマイニングのモデルをGUIベースの簡単マウス操作で作成することができます。モデル生成プロセスをグラフィカルなフロー図として描き、実行するだけです。このフロー図のことを「パイプライン」と呼んでいます。 Model Studioで予測モデルを生成するには、大きく2通りの方法があります。 1つは、マウスの簡単ドラッグ操作でパイプラインを一から作成する方法と、もう一つは、予め用意されているパイプラインのテンプレートを使用する方法です。 まずは、パイプラインを一から作成する際の基本的な手順を紹介します。 プロジェクトの新規作成と学習用のデータソース選択 パイプラインの作成と実行 実行結果(モデル精度)の確認 1.プロジェクトの新規作成と学習用のデータソース選択 SAS Viyaの統合GUIのホームページのメニューから「モデルの作成」を選択すると、 Model Studioの画面が表示されます。 「プロジェクトの新規作成」をクリックします。 「プロジェクトの新規作成」画面内で、プロジェクトの名前を入力し、モデルの種類(データマイニングと機械学習 / テキスト分析 / 予測)を選択し、学習用のデータソースを選択します。今回は、「データマイニングと機械学習」を選び、ローンの審査モデルを作成します。HMEQJというデータソースは、顧客ごとに1行の横持ち形式のデータです。 「保存」をクリックすると、ローン審査モデルプロジェクトが作成され、選択したデータソースの変数リストが表示されます。 予測対象の項目(ターゲット変数)を指定します。変数名:BAD(ラベル名:延滞フラグ)を選択し、右画面内で、役割に「ターゲット」を選択します。 延滞フラグには、過去に延滞の実績があればフラグに“1”が、無ければ“0”が設定されています。 2.パイプラインの作成と実行 予測対象の項目を指定後、画面上部にある「パイプライン」をクリックします。 パイプラインには「データ」ノードのみが表示されています。左端の機能ノードアイコンをクリックすると、 パイプラインに追加可能な機能ノードのリストが表示されます。 今回は、欠損値補完を行った上で、勾配ブースティングとランダムフォレストでモデルを生成してみましょう。まず、データに対する前処理として欠損値補完を行います。 「データマイニングの前処理」内にある「補完」を「データ」ノード上にドラッグすると、 「データ」ノードの下に「補完」ノードが追加されます。 同様の手順で、「教師あり学習」内にある「勾配ブースティング」を「補完」ノード上へドラッグすると、「補完」ノードの下に「勾配ブースティング」ノードが追加されます。(同時に「モデルの比較」ノードが自動的に追加されます) このようにドラッグ操作でノードを追加する以外に、パイプライン上のメニューからノードを追加することもできます。 「補完」ノードの右端にある、3つのドットが縦に並んでいる(スノーマン)アイコンをクリックし、「下に追加」>「教師あり学習」>「フォレスト」の順に選択すると、 「補完」ノードの下に、「フォレスト」ノードが追加されます。 機能ノードごとの詳細なオプションの設定は、右側画面内で行います。 パイプラインが完成したら、パイプラインの実行アイコンをクリックし、実行します。実行中の機能ノードは時計アイコンがクルクル回転し、正常に完了すると緑のチェックマークが表示されます。 3.実行結果(モデル精度)の確認 パイプラインの実行が完了したら、「モデルの比較」ノードのスノーマンアイコンをクリックし、メニュー から「結果」を選択します。 モデルの比較結果が表示されます。今回は勾配ブースティングのモデルの精度の方が高い=チャンピオンであると判定されています。 「アセスメント」タブ内では、リフトやROCの情報などを確認することができます。 以上が、ビジュアルパイプラインで予測モデルを一から生成する際の基本的な手順です。 ※ビジュアルパイプラインによるモデル生成(基本)は、SAS Viya特設サイトの「機械学習」トピック内にある動画でもご覧いただけます。
Tag: SAS Viya
In SAS Viya 3.4, promotion support has been added for many additional SAS 9.4 resources, making it easier to make the leap to Viya. In this blog, SAS' Gerry Nelson reviews this new functionality.
Data in the cloud makes it easily accessible, and can help businesses run more smoothly. SAS Viya runs its calculations on Cloud Analytics Service (CAS). David Shannon of Amadeus Software spoke at SAS Global Forum 2018 on his paper, Come On, Baby, Light my SAS Viya: Programming for CAS.
SAS Viya has opened an entirely new set of capabilities, allowing SAS to analyze on cloud technology in real-time. One of the best new features of SAS Viya is its ability to pair with open source platforms, allowing developers the freedom of language and implementation to integrate with the power
このブログでは、SAS Viyaで提供される各種機能やリソースへのアクセス制限を設定する方法を紹介します。 ユーザーやグループが行うことができる(あるいは参照することができる)内容はルールによって設定されます。ルールは以下の権限要素によって構成されています。: ・プリンシパル:ユーザーまたはグループ。 ・ターゲット:サービス、フォルダ、レポートなどのリソース。 ・権限:アクセスのタイプ(たとえば、読み取りまたは書き込み)。 ・設定:アクセスが提供されているかどうかの表示、たとえば許可または禁止。 ルールのターゲットは、uniform resource identifier(uri)を使用して識別されます。URIは、フォルダやレポート、データプランなどのコンテンツ、またはデータのインポートなどの各種の機能などを表すことができます。 SAS Viyaでのuriの例をいくつか紹介します。 ・データプラン:/ dataPreparationPlans / plans / 810e2c6b-4733-4d53-94fd-dfeb4df0de9e ・フォルダ:/ folders / folders / e28e35af-2673-4fc7-81fa-1a074f4c0de9 ・機能性:/ SASVisualAnalytics / ** 以下の例では、「レポート開発者」カスタムグループを作成し、そのグループのユーザーのみがSAS Visual Analyticsでレポートを作成することができるように設定しています。 カスタムグループを作成します。 ルールを使用して、そのグループに使用機能に対する権限を設定します。 1. カスタムグループを作成 SAS Viyaの環境の管理(SAS Environment Manager)上で、管理者(管理者のみがユーザーとグループを管理できます)が、ユーザー>カスタムグループ>カスタムグループの新規作成を選択します。 カスタムグループの新規作成画面で、「名前」にグループ名、「ID」に一意のID、「説明」に必要に応じて説明を記載します。 新しいグループが作成されたら、編集ボタンをクリックして、新しいメンバーをグループに追加します。 ユーザーまたは他のグループを新しいグループのメンバーとして追加することができます。 2.ルールを使用して、そのグループに使用機能に対する権限を設定 「レポート開発者」グループのみがSAS Visual Analyticsの機能にアクセスできるようにルールを作成、または更新します。まず、SAS Visual Analyticsに現在適用されているルールを見ていきます。 環境の管理(SAS Environment
SAS Visual Analytics includes text parsing actions that can help tokenize sentences, and SAS Visual Text Analytics provides even better, more sophisticated methods. This article contains code samples and cites papers for more details.
Getting started with SAS Viya and RStudio -- making the connection, and submitting my first commands via CAS actions.
In SAS Visual Analytics 8.3, a Data View is a reusable and shareable template for a data source. That means that the data view is tied to the data source, and not to the report. Here's how to use them.
See how to sample unstructured (text) data using SAS Viya and CAS actions. This post includes complete code to cluster the text documents via k-means, and treats the cluster memberships as strata for analysis.
This post addresses connecting to SAS Viya using a One-Time-Password generated by SAS 9.4. We'll learn more about SAS Viya connecting with SAS 9.4 and talk about how this authentication flow operates and when we are likely to require it.
Cloud Analytic Services (CAS) is really exciting. It’s open, multi-threaded and distributed. And, best of all for SAS programmers, it’s SAS. You can even run DATA Step in CAS. Here's more on how DATA Step work in a multi-threaded, distributed context.
Ballpark Chasers A cross-country trip is pretty much an all-American experience, and so is baseball. Traveling around the country to see all 30 Major League Baseball (MLB) stadiums is not a new idea; there's even a social network between so-called "Ballpark Chasers" where people communicate and share their journeys. Even
Often, in addition to content, an administrator will want to save configuration so that it can be reloaded or updated and applied to a different system. You have the ability to save and reload SAS Viya configuration using command-line interfaces. Learn more in this post.
SAS Visual Analytics takes advantage of the performance and scalability of the SAS Viya platform, providing a BI framework that can work with massive amounts of data, bringing forward the powerful analytics that has made SAS the market leader in this space. Learn more about SAS Visual Analytics on the new SAS platform.
Logs. They can be an administrator’s best friend or a thorn in their side. Thankfully, the chances of that happening with your SAS Viya 3.3 deployment is greatly reduced due to the automatic log management in SAS Viya, which archives log files every day.
For software users and SAS administrators, the question of how to streamline their approach into the easiest to use system that most effectively completes the task at hand. At SAS Global Forum 2018, the topic of a “Big Red Button” for the SAS Platform was an idea that got audience members excited. Here's a review of that talk.
SAS Viya is our latest extension of the SAS Platform and interoperable with SAS® 9.4. There were a number of SAS Viya presentations at SAS Global Forum 2018. In this series, we will review several of the most interesting talks. This post reviews Hadley Christoffels’ talk, A Need For Speed: Loading Data via the Cloud.
SASでは、従来からSAS Viyaの機能をPythonなど各種汎用プログラミング言語から利用するためのパッケージであるSWATを提供していました。 これに加え、よりハイレベルなPython向けAPIパッケージであるDLPyの提供も開始され、PythonからViyaの機能をより効率的に活用することが可能となっています。 ※DLPyの詳細に関しては以下サイトをご覧ください。 https://github.com/sassoftware/python-dlpy DLPyとは DLPyの機能(一部抜粋) 1.DLPyとは DLPyは、Viya3.3以降のディープラーニングと画像処理(image action set)のために作成された、Python API向けハイレベルパッケージです。DLPyではKerasに似たAPIを提供し、ディープラーニングと画像処理のコーディングの効率化が図られています。既存のKerasのコードをほんの少し書き換えるだけで、SAS Viya上でその処理を実行させることも可能になります。 例えば、以下はCNNの層の定義例です。Kerasに酷似していることがわかります。 DLPyでサポートしているレイヤは、InputLayer, Conv2d, Pooling, Dense, Recurrent, BN, Res, Proj, OutputLayer、です。 以下は学習時の記述例です。 2.DLPyの機能(一部抜粋) 複数のイルカとキリンの画像をCNNによって学習し、そのモデルにテスト画像を当てはめて予測する内容を例に、DLPyの機能(一部抜粋)を紹介します。 2-1.メジャーなディープラーニング・ネットワークの実装 DLPyでは、事前に構築された以下のディープラーニングモデルを提供しています。 VGG11/13/16/19、 ResNet34/50/101/152、 wide_resnet、 dense_net また、以下のモデルでは、ImageNetのデータを使用した事前学習済みのweightsも提供(このweightsは転移学習によって独自のタスクに利用可能)しています。 VGG16、VGG19、ResNet50、ResNet101、ResNet152 以下は、ResNet50の事前学習済みのweightsを転移している例です。 2-2.CNNの判断根拠情報 heat_map_analysis()メソッドを使用し、画像の何処に着目したのかをカラフルなヒートマップとして出力し、確認することができます。 また、get_feature_maps()メソッドを使用し、CNNの各層の特徴マップ(feature map)を取得し、feature_maps.display()メソッドを使用し、取得されたfeature mapの層を指定して表示し、確認することもできます。 以下は、レイヤー1のfeature mapの出力結果です。 以下は、レイヤー18のfeature mapの出力結果です。 2-3.ディープラーニング&画像処理関連タスク支援機能 2-3-1.resize()メソッド:画像データのリサイズ 2-3-2.as_patches()メソッド:画像データ拡張(元画像からパッチを生成) 2-3-3.two_way_split()メソッド:データ分割(学習、テスト) 2-3-4.plot_network()メソッド:定義したディープラーニングの層(ネットワーク)の構造をグラフィカルな図として描画 2-3-5.plot_training_history()メソッド:反復学習の履歴表示
前回の「ディープラーニングの判断根拠」ブログでは、PythonからSAS Viyaの機能を活用するためのパッケージであるSWATを使用した例を説明しましたが、今回は、以下2点に関してご紹介します。 SAS ViyaのよりハイレベルなPython APIであるDLPyを使用した画像認識モデルの判断根拠情報 機械学習の判断根拠情報 1.SAS ViyaのよりハイレベルなPython APIであるDLPyを使用した画像認識モデルの判断根拠情報 この例では、複数のイルカとキリンの画像をSAS Viyaのディープラーニング(CNN)で学習させ、そのモデルに以下の画像を当てはめて、これがイルカなのか否かを判別するものです。 実際、この画像はイルカであると判定されたんですが。 SAS Viyaでは、その判断根拠となり得る情報の一つとして、入力画像のどこに着目したのかを以下の通り出力し、確認できるようになっています。 DLPyでは、get_feature_maps()メソッドでfeature mapを取得し、feature_map.display()で指定したレイヤーの内容を表示することができます。 以下は、レイヤー1のfeature mapです。 以下は、レイヤー18のfeature mapです。 白色の濃淡で、判別に影響を与えている箇所を確認することができます。 さらに、SAS Viyaでは、画像認識モデルの判断根拠情報を可視化する手法の一つである、Grad-CAMと同様に、画像の何処に着目したのかを、カラフルなヒートマップとして出力し、確認することもできるようになっています。 しかも、heat_map_analysis()メソッドを使用して、以下の通り、たった1行書くだけでです。 青、緑、赤の濃淡で、判別に影響を与えている箇所を確認することができます。 DLPyの詳細に関しては、以下をご覧ください。 https://github.com/sassoftware/python-dlpy 2.機械学習の判断根拠情報 もちろんディープラーニングだけではなく、従来からの機械学習のモデルによって導き出された予測や判断に関しても、それがなぜ正しいと言えるのか、具体的に言えば、なぜAさんはこの商品を買ってくれそうだと判断されたのか、なぜこの取引データは疑わしいと判断されたのか、を説明する必要性があるわけです。特に説明責任が求められるような業務要件においては、 ということでSAS Viyaの次期版には機械学習の判断根拠情報、モデル内容を説明するための機能が実装される予定です。 まず、影響度が最も高い変数は、という問いに対しては、従来からの変数の重要度で確認することができます。これをさらに一段掘り下げたものが、Partial Dependence (PD)です。 日本語では「部分従属」と言いますが。重要度の高い変数は、予測に対して、具体的にはどのように作用しているのかを知ることができます。 そしてこのPDを元にさらに一段掘り下げたものが、Individual Conditional Expectation (ICE)になります。 また、これらとは別に、なぜその予測結果に至ったのかを説明するテクニックとしてLocal Interpretable Model-agnostic Explanations (LIME)を活用することができます。 SAS Viyaベースの製品であるSAS Visual Data Mining and
The European Union’s General Data Protection Regulation (GDPR) taking effect on 25 May 2018 pertains not only to organizations located within the EU; it applies to all companies processing and holding the personal data of data subjects residing in the European Union, regardless of the company’s location. Here are four selected SAS tools for GDPR that allow you to protect personal data in SAS reports by suppressing counts in small demographic group reports.
Analyzing ticket sales and customer data for large sports and entertainment events is a complex endeavor. But SAS Visual Analytics makes it easy, with location analytics, customer segmentation, predictive artificial intelligence (AI) capabilities – and more. This blog post covers a brief overview of these features by using a fictitious event company
A future of flying cars and Minority Report-styled predictive dashboards may still be some time away, but the possibilities of robotics and Artificial Intelligence (AI)-powered automation are a reality today. From connected cars to smart homes and offices, we see daily how big data and the Internet of Things (IoT)
前回、この機能を紹介した際には、海外に実在する施設や地図上での活用例をご覧いただきました。 その続編となる今回は、以下の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では、こんなこともできるんですね。 例えば、人体図の中の内臓別の疾患状況をビジュアルに分析する、工場内プラントの設備(工程)ごとの稼働状況を図解でビジュアルに可視化し分析する、店舗内の商品陳列棚別の在庫状況や売上状況を図解でビジュアルに可視化し分析する…なんていうこともできそうですね。
DESCENDING BY Variables in DATA Step Code that Runs Distributed in SAS Viya
La fortaleza que tiene la analítica ahora es la revolución de las tecnologías como la inteligencia artificial (IA) y el aprendizaje automático. Esta amalgama de innovaciones le da a las empresas, de todas las industrias, la oportunidad de llevar a cabo las percepciones que obtienen de sus datos a una
This post is an introduction to SAS Visual Forecasting 8.2. We'll build a Visual Forecasting (VF) Pipeline, which is a process flow diagram whose nodes represent tasks in the VF Process. The objective is to show how to perform the full analytics life cycle with large volumes of data: from accessing data and assigning variable roles accurately, to building forecasting models, to select a champion model and overriding the system generated forecast.
The release of SAS Viya 3.3 has brought some nice data quality features. In addition to the visual applications like Data Studio or Data Explorer that are part of the Data Preparation offering, one can leverage data quality capabilities from a programming perspective. Here is an overview of SAS Data Quality 3.3 programming capabilities.
You can now enable Kerberos delegation across the SAS Platform, using a single strong authentication mechanism across that single platform. As always with configuring Kerberos authentication the prerequisites, in terms of Service Principal Names, service accounts, delegation settings, and keytabs are important for success.
When speed is required at scale, it's hard to beat parallel processing data in memory with DS2 and SAS® Viya® with the amazing Cloud Analytic Services (CAS)!
Inspired by curiosity and backed by the most powerful analytics in the world, SAS discovers a new planet in our Solar system. See how we used SAS Viya to make this historic discovery.