Search Results: viya (1082)

Analytics
0
R言語でSAS ViyaのAI機能活用 第一回「CASサーバーとSWATパッケージ」

本シリーズの記事について オープンソースとの統合性はSAS Viyaの一つの重要な製品理念です。SAS言語やGUIだけではなく、R言語やPythonなどのオープンソース言語でも、SAS ViyaのAI&アナリティクス機能を活用することが可能になっています。このシリーズの記事は、R言語からSAS Viyaの機能を活用して、データ準備からモデルの実装までの一連のアナリティクス・ライフサイクル開発をサンプルコードの形で紹介していきます。 CASサーバーとSWATパッケージとは コードの内容を紹介する前に、まずCASサーバーとSWATパッケージに関して、簡単に紹介します。CASはSAS Cloud Analytic Serviceの略称です。SAS Viyaプラットフォームの分析エンジンで、様々な種類のデータソースからデータを読み込み、メモリーにロードし、マルチスレッドかつ分散並列でハイパフォーマンスな分析処理を実行します。現在のCASサーバーは3.4.0以降のバージョンのPythonと3.1.0以降のバージョンのRをサポートしています。 オープンソース言語のクライアントからCASサーバーのインタフェースを使用するために、SASからSWAT(SAS Scripting Wrapper for Analytics Transfer)というパッケージをGithubに公開し、提供しています。RとPythonにそれぞれ対応しているバージョンはありますが、本記事のサンプルコードではR用の SWATをメインで使用します。SWATパッケージを通してCASサーバーと通信し、インタフェースを直接利用することができます。データサイエンティストはSWATパッケージを使用し、RやPythonからSAS Viyaの豊富なAI&アナリティクス機能を活用し、様々なデータ分析処理を行ったり、機械学習や深層学習のモデルを作成したりすることができます。 環境の準備 R言語用SWATパッケージを利用するために必要なRの環境情報は以下の通りです。 ・64-bit版のLinux或いは64-bit版のWindows ・バージョン3.1.0以降の64-bit版のR ・Rパッケージ「dplyr」、「httr」と「jsonlite」がインストールされていること 筆者が使用している環境は64-bit版のWindows 10と64-bit版のR 3.5.3となり、IDEはRstudioです。 パッケージのインストール SWATをインストールするために、標準的なRインストール用関数install.package()を使用します。SWATはGithub上のリリースリストからダウンロードできます。 ダウンロードした後、下記のようなコマンドでSWATをインストールします。 R CMD INSTALL R-swat-X.X.X-platform.tar.gz X.X.Xはバージョン番号であり、platformは使用するプラットフォームと指しています。 或いはRの中から下記のコマンドのようにURLで直接インストールするのもできます。 install.packages('https://github.com/sassoftware/R-swat/releases/download/vX.X.X/R-swat-X.X.X-platform.tar.gz', repos=NULL, type='file') この部分の詳細はR-swatのGitHubのリンクを参考にしてください。 SAS Viyaと一回目の通信をやってみよう 全ての準備作業が完了したら、問題がないことを確認するために、Rから下記のコードを実行してみます。 library("swat") conn <- CAS(server, port, username, password,

Programming Tips
Elena Shtern 0
How SAS® Viya® fosters collaboration

When my younger son grabs a book or a toy from his older siblings without permission, his line of defense is always the same: “Sharing is caring!” Our kids' schools teach and reinforce this philosophy. Likewise, our family has rules to ensure peaceful, orderly sharing. Similarly, many organizations value collaboration.

Programming Tips
SAS Japan 0
新しいSAS ViyaのPython向けパッケージ :sasctl

なぜ“sasctl”が必要なのか? オープンソースとの統合性はSAS Viyaの一つの重要な製品理念であり、そのための機能拡張を継続的に行っています。その一環として”sasctl”という新しいパッケージがリリースされました。SAS Viyaでは従来から、PythonからViyaの機能を使用するために”SWAT”パッケージを提供しており、SAS Viyaのインメモリー分析エンジン(CAS)をPythonからシームレスに活用し、データ準備やモデリングをハイパフォーマンスで実行することができるようになっていました。しかし、データ準備やモデル開発は、アナリティクス・ライフサイクル(AI&アナリティクスの実用化に不可欠なプロセス)の一部のパートにすぎません。そこで、開発されたモデルをリポジトリに登録・管理して、最終的に業務に実装するためのPython向けパッケージとして”sasctl”が生まれたのです。 sasctlの概要 sasctlで提供される機能は、大まかに、3つのカテゴリーに分けられます。 また、この3つのカテゴリーは、お互いに依存する関係を持っています。 1.セッション sasctlを使用する前に、まずSAS Viyaのサーバーに接続する必要があります。(この接続は、ViyaマイクロサービスのRESTエンドポイントに対して行われることに注意してください) SAS Viyaのサーバーへの接続は、セッションのオブジェクトを生成することにより行われます。 >>> from sasctl import Session >>> sess = Session(host, username, password) この時点で、sasctlはViya環境を呼び出して認証し、この後のすべての要求に自動的に使用される認証トークンを受け取りました。 ここからは、このセッションを使用してViyaと通信します。 2.タスク タスクは一般的に使用される機能を意味し、可能な限りユーザーフレンドリーになるように設計されています。各タスクは、機能を実現するために、内部的にViya REST APIを複数回呼び出しています。例えば、register_modelタスクではREST APIを呼び出し、下記の処理を実行しています: リポジトリの検索 プロジェクトの検索 プロジェクトの作成 モデルの作成 モデルのインポート ファイルのアップロード その目的としては、ユーザーがPythonを使って、アナリティクス・ライフサイクルで求められるタスクを実行する際に、sasctlの単一のタスクを実行するだけで済むようにすることです。 >>> from sasctl.tasks import register_model >>> register_model(model, 'My Model', project='My Project') 今後も継続的に新しいタスクを追加していきますが、現在のsasctlには下の2つのタスクを含まれています:

Advanced Analytics | Analytics | Data Visualization
Makoto Unemi (畝見 真) 0
セルフサービスBIの進化系、拡張アナリティクスの決定版SAS Visual Analytics 8.4 on SAS Viya拡張ポイント

SAS Visual Analytics on SAS Viya(以降VA)の最新版8.4に搭載されている新機能の中から、以下5つの機能に関してダイジェストでご紹介します。 1.AIストーリーテラー機能 2.レポート編集&表示切替の利便性向上 3.閲覧時レポートカスタマイズ&制御 4.分析用ビジュアル候補提示 5.カスタムグループ作成の容易化 6.Visual Analytics SDK 1.AIストーリーテラー(自動分析&解説)機能 VA8.3から搭載されていた機能やUIが拡張されています。 AIストーリーテラー(自動分析&解説)機能では、分析対象の変数(ターゲット)を指定するだけで、その変数に影響を与えているその他の変数の特定や、変数ごとにどのような条件の組み合わせがターゲット変数に依存しているのかを「文章(条件文)」で表現して教えてくれます。 この例で使用するデータ「HMEQJ」は、ローンの審査を題材にしたもので、顧客ごとに1行の横持ちのデータです。このデータ内にある「延滞フラグ」が予測対象の項目(ターゲット変数)で、0(延滞なし)、1(延滞あり)の値が含まれています。 データリスト内の「延滞フラグ」を右クリックし、「説明」>「現在のページで説明」を選ぶだけで、「延滞フラグ」をターゲット変数に、その他の変数の組み合わせを説明変数とした複数の決定木(ディシジョンツリー)が実行され、 以下のような結果が表示され、見つけ出された有用な洞察を説明してくれます。 分析結果画面内説明: ① 予測対象値(0:延滞なし、1:延滞あり)の切り替えが可能です。この例では、「1:延滞あり」を選択し、「延滞する」顧客に関して分析しています。 ② 全体サマリーとして、すべての顧客の内、延滞実績のある顧客は19.95%(5,960件中の1,189件)であることが示されています。 ③ 「延滞する」ことに関して影響を与えている変数の重要度を視覚的に確認することができます。最も影響度の高い変数(今回は「資産に対する負債の割合」)の重要度を1として、1を基準値にした相対重要度が算出され、横棒グラフで表示されます。従来版に比べて、変数ごとの影響度合いの違いを明確に捉えることができます。 ④ 「高」タブには、「延滞する」可能性が高いトップ3のグループ(条件の組み合わせ)が文章で示され、「低」タブには、「延滞する」可能性が低いトップ3のグループ(条件の組み合わせ)が文章で示されます。この例では、③で「資産価値」が選択され、「資産価値」に基づき、延滞する可能性の高い/低いグループのトップ3が表示され、「資産価値」に関する条件部分がハイライトしています。 ⑤ この例では、③で「資産価値」が選択され、これに応じて「0:延滞なし、1:延滞あり」別の顧客の分布状況がヒストグラムで表示されています。選択された変数が数値属性の場合は、ヒストグラムで、カテゴリ属性の場合は積み上げ棒グラフで表示されます。チャートの下端では、チャートから読み取れる内容を文章で解説しています。 以下は、カテゴリ属性の変数を選択した場合の表示例です。 以上のように、分析スキルレベルの高くないビジネスユーザーでも、簡単かつ容易に、そして分かり易くデータから有効な知見を得ることができます。 ※AIストーリーテラー機能に関しては、SAS Viya特設サイトのビジュアライゼーションセクションで動画でもご覧いただけます。 2.レポート編集&表示切替の利便性向上 従来のVAでは、編集モードで作成したレポートを表示モードで確認する際には、メニューから「レポートを開く」を選択し、レポートが表示されるのを少し待つ必要がありました。また、レポート表示モードから編集モードに戻るにもメニューから「編集」を選択する必要がありました。 VA8.4では、編集モードと表示モード切替の利便性が改善され、画面左上のペンシルアイコンをクリックするだけで、編集画面<->表示画面間を瞬時に切り替えられるので作業効率が向上します。 また、ご覧の通り、編集画面と表示画面のレイアウトも統一されています。 3.閲覧時レポートカスタマイズ&制御 一般的にBIツールでは、対象ユーザーを3つの層(管理者、レポート作成者(デザイナ)、レポート閲覧者(コンシューマ))に分類し、それぞれに最適なインターフェースを提供しています。しかし、レポート閲覧者の中には、「基本的には誰かが作成したレポートを見るだけでいいんだけど、自分好みに変更できたらもっといいのにな…」という声も多くあります。このレポートカスタマイズ者層に答えられないために、彼らは、レポートを開き、そのデータをダウンロードし、Excelに取り込んで好みのレポートを作成しようとするのです。 VA8.4では、レポートカスタマイズ者層向けに、作成済みレポートを開いて閲覧中に、簡単操作で好みに合うようにレポートをカスタマイズすることができるようになりました。 以下は、レポート閲覧中に「円グラフ」を他のチャートタイプに変更するメニューが表示されている例です。 また、レポート作成者は、レポートカスタマイズ者向けに、カスタマイズ可能な機能範囲を3段階で制御することが可能です。 これで、レポート作成者の負担も軽減され、レポート閲覧者の痒いところに手が届きそうですね。 4.分析用ビジュアル候補提示 レポート作成の元となるデータソースを選択すると、そのデータソース内の項目に基づき、「こんな分析が有効じゃないの…」と、分析画面の候補を自動的に提示してくれる機能です。 画面左端から電球マークの「候補」アイコンをクリックすると、分析候補がいくつか表示され、提示された分析画面をドラッグ操作でレポートに挿入することができます。 より素早く、効果的な情報を含むレポートを作成することができそうですね。これも一つの自動分析機能です。 5.カスタムグループ作成の容易化 従来版のVAでは、カスタムグループを作成する際には、カスタムグループ作成専用の画面内で、グループに含める要素の選択と、グループ名称を設定し、OKをクリックしてチャートに反映させる必要がありましたが、VA8.4では、チャート上でグループ化対象の要素を選択し、そのグループに名称を設定して、素早くカスタムグループを作成することができるようになりました。 6. Visual Analytics SDK

Advanced Analytics | Analytics
Makoto Unemi (畝見 真) 0
SAS Viya: ビジュアルパイプラインで需要分類&予測

「ビジュアルパイプラインで将来予測」では、SAS ViyaのModel Studioを使用した時系列予測の基本的な手順を紹介しました。 今回は、需要予測の精度を高める代表的な一つの手法として、需要分類をご紹介します。 例えば、お菓子の販売に関する需要を予測する場合を考えてみましょう。 ポテトチップスやおかきのように通年を通して売れる商品もあれば、アイスクリームのように夏季に需要が増加する商品、チョコレートのようにバレンタインデーの直前と当日に需要が急増する商品、お盆やお彼岸などの際にお供え用にときどき購入される商品などなど、お菓子の種類によって需要のパターンは異なってきます。 これらの異なる需要パターンの商品に対して、一律同じアルゴリズムを適用しても予測精度は高まりません。 こうした課題に対処するために、SAS Viyaの時系列予測では、自動的に需要のパターンを分析し、予測の精度を高めるような仕組みも搭載されています。 SAS ViyaのModel Studioで時系列予測を実行する際に、需要分類を活用する場合は、「需要の分類」テンプレートを使用します。 (使用する時系列データやデータ内の変数に対する役割設定内容は、「ビジュアルパイプラインで将来予測」ブログ内容と同様です。) 以下は、「需要の分類」パイプライン・テンプレートを選択し、実行した後の画面です。 「需要の分類プロファイル」ノードでは、統計解析等の手法を使用して、時系列データを解析し、需要のパターンを検出します。冒頭にお話しした通り、予測対象によって需要のパターンは様々です。 こうした多様なパターンを見極めた上で、適した予測アルゴリズムを用いることが肝要になります。 今回のデータでは、地域×製品ラインのセグメントごとに需要のパターンが検出され、分類されます。 「需要の分類プロファイル」ノードのメニューから「開く」を選択すると、 分類結果が表示されます。 地域×製品ラインでは、5つの組み合わせ=セグメントが存在するので、これらのセグメントごとにパターンが検出され、結果としては、1つのセグメントは「YEAR_ROUND_NON_SEASONAL:長期間の非季節性需要」として、4つのセグメントは「YEAR_ROUND_SEASONAL:長期間の季節性需要」として分類されていることがわかります。 上記の2種類を含め10種類の需要パターン+その他、に分類されます。 次の「需要の分類モデリング」ノードでは、分類されたセグメントごとに最適なアルゴリズムが選択され、予測が実行されます。 「需要の分類モデリング」ノードのメニューから「開く」を選択すると、 実行結果が表示されます。検出された需要パターンに応じて、最適なアルゴリズムを適用したパイプライン(以下の「パプライン」列)が選択され、実行されます。 「YEAR_ROUND_NON_SEASONAL:長期間の非季節性需要」のセグメントには「非季節予測」モデルのパイプライン・テンプレートが適用され、「YEAR_ROUND_SEASONAL:長期間の季節性需要」のセグメントには「季節予測」モデルのパイプライン・テンプレートが適用され、それぞれ実行されています。「WMAPE」列には加重MAPEの値が表示されています。 セグメントを選択し、画面右上の「パイプラインを開く」アイコンをクリックすると、 そのセグメントに適用され、実行されたパイプラインが表示されます。 加重MAPEの値や、このパイプラインの予測結果を確認し、精度をさらに改善したい場合は、従来通りの操作性でこのパイプラインをカスタイズ(アルゴリズムを変更したり、パラメータをチューニングしたり)することもできます。 最後の「セグメントのマージ」ノードでは、各セグメントの予測実行結果をマージします。 「セグメントのマージ」ノードのメニューから「予測ビューア」を選択すると、 予測結果のチャートが表示されます。 以下チャート内のオレンジ色の破線は、5つのセグメントの中の、地域:Region1×製品ライン:Line1に関する予測結果です。 以上のように、SAS ViyaのModel Studio上でビジュアルパイプラインを用いた時系列予測では、需要のパターンに基づく、より精度の高い予測モデリング戦略の自動実行も可能なんですね。 ※ビジュアルパイプラインでの需要分類&予測は、SAS Viya特設サイト内の「ビジュアライゼーション」及び「機械学習」セクションにて動画をご覧いただけます。 ※需要予測精度の向上に関しては、「ビジネスで「需要予測機能」を活用するために必要な3つの要素」ブログも参考にしてください。 ※Enterprise Open Analytics Platform 「SAS Viya」 を知りたいなら「特設サイト」へGO!

Analytics | Data Visualization | Programming Tips
SAS Software 0
SAS Viya: Package for Python API for deep learning and image processing: DLPy

Editor's Note: This article was translated and edited by SAS USA and was originally written by Makoto Unemi. The original text is here. SAS previously provided SAS Scripting Wrapper for Analytics Transfer (SWAT), a package for using SAS Viya functions from various general-purpose programming languages ​​such as Python. In addition

Advanced Analytics | Analytics
Makoto Unemi (畝見 真) 0
SAS Viya: ビジュアルパイプラインで将来予測(フォーキャスティング)

Enterprise Open Analytics PlatformであるSAS Viyaでは、コーディングスキルを持たないビジネスアナリストやビジネスユーザーでも、Model Studioを使用し、機械学習のモデル、時系列予測のモデル、テキストマイニングのモデルをGUIベースの簡単マウス操作で作成することができるようになっています。モデル生成プロセスをグラフィカルなフロー図として描き、実行するだけです。このフロー図のことを「パイプライン」と呼んでいます。 これまで、ビジュアルパイプラインを用いた機械学習のモデル生成は紹介してきましたが、今回は、時系列予測の基本的な手順を紹介します。 Model Studioで時系列予測を実行する基本的な手順は以下の通りです。 ① プロジェクトの新規作成 ② 学習用の時系列データ内項目へ役割設定 ③ パイプラインの作成と実行 ④ 予測結果確認 ⑤ 予測値のオーバーライト(必要に応じて) ① プロジェクトの新規作成 SAS Viyaの統合GUIのホームページのメニューから「モデルの作成」を選択し、表示されるModel Studioの画面から「プロジェクトの新規作成」をクリックします。 「プロジェクトの新規作成」画面内で、プロジェクトの名前を入力し、モデルの種類(データマイニングと機械学習 / テキスト分析 / 予測)から「予測」を選択します。使用するパイプライン・テンプレートとして、デフォルトでは、「自動予測」が選択されていますが、必要に応じてテンプレートを変更することができます。 今回は、「自動予測」テンプレートを使用してみましょう。 学習用の時系列データを選択し、「保存」をクリックします。 すると、指定したデータソース内の変数リストが表示されます。 ② 学習用の時系列データ内項目へ役割設定 表示された「データ」タブ内で、変数ごとに右側画面内で役割を選択します。 ・注文日:時間 <-日付属性データ項目には自動的に“時間”役割が設定されます。 ・売上:従属 <-予測対象の項目 ・原価:独立 <-予測対象に影響を及ぼす項目 ・販売地域と製品ライン:BY変数 <-地域別や製品ライン別で予測結果を見ることができます。 「テーブルの表示」アイコンをクリックすると、データの中身を確認できます。 ご覧の通り、このデータは年月ごと、販売地域、製品ライン、製品ごとの売上や原価、などの情報を持つ時系列データです。 注. 今回使用するデータでは、時系列データとその属性データ(地域、製品ライン、製品)が一つにマージされているデータを使用していますが、時系列データと属性データをそれぞれ別データとして取り込むことも可能です。そうすれば、メモリーにロードするデータ量を削減することができます。 ③ パイプラインの作成と実行 役割を設定後、「パイプライン」タブをクリックすると、「自動予測」のパイプラインが表示されます。 右側画面には「自動予測」ノードのオプションが表示されています。ご覧の通り、自動予測では、ESM(指数平滑化)とARIMAの2つの手法で予測を実行し、その中から最良のモデルが使用されます。 必要に応じて、IDM(間欠需要モデル)とUCM(観測不能成分モデル)を追加することも可能です。 左画面内のノードリストから必要な機能をドラッグ操作でパイプラインへ追加することができます。 その中にはニューラルネットワークに基づく手法も用意されています。 今回は、「ナイーブモデル予測」を加えてみましょう。 左側のノードリスト内から「ナイーブモデル予測」をパイプラインの「データ」ノードにドラッグするだけです。 それでは、パイプラインの右上の「パイプラインの実行」ボタンをクリックして、このパイプラインを実行しましょう。 正常に完了するとすべてのノード上に緑のチェックマークが表示されます。 「データ」ノードのメニューから「時系列ビューア」を選択すると、 学習データ内容を時系列チャートで確認することができます。 役割にBY変数を指定した、販売地域と製品ラインで絞り込んで見ることもできます。 以下は、地域:Region2、製品ライン:Line3に絞り込んだチャートです。 ④ 予測結果確認

Artificial Intelligence
SAS Viya:セマンティック・セグメンテーション(Semantic Segmentation)を試してみた

PythonからSAS Viyaの機能を利用するための基本パッケージであるSWATと、よりハイレベルなPython向けAPIパッケージであるDLPyを使用して、Jupyter NotebookからPythonでSAS Viyaの機能を使用してセマンティック・セグメンテーション(Semantic Segmentation)を試してみました。 大まかな処理の流れは以下の通りです。 1. 必要なパッケージ(ライブラリ)のインポートとセッションの作成 2. 画像データ内容の確認とセグメンテーション用データセットの作成 3. モデル構造の定義 4. モデル生成(学習) 5. セグメンテーション(スコアリング) 1. 必要なパッケージ(ライブラリ)のインポートとセッションの作成 swatやdlpyなど、必要なパッケージをインポートします。 %matplotlib inline # SWAT パッケージのインポート import swat as sw import sys   # DLPy パッケージのインポート import dlpy from dlpy.network import * from dlpy.utils import * from dlpy.applications import * from dlpy.model

Artificial Intelligence
SAS Viya:Python API向けパッケージ:DLPyの最新版1.1拡張機能とは

SAS Viyaのディープラーニング機能をPythonから利用するためのハイレベルAPIパッケージの最新版であるDLPy1.1では、主にCNN(Convolutional Neural Network)に関連する機能が拡張されています。 主な拡張機能: ・新たに3つのネットワーク構造に対応 【U-Net】 元々は、医療用画像のセグメンテーション向けに開発されたネットワークです。 (出典:https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/) 【MobileNet】 モバイル端末のようなリソースの少ない環境でも、畳み込み計算を分割(Depthwise Separable Convolution)することで、軽快に、素早く、そして精度の高い結果を得ることができると言われているネットワークです。 左が一般的な畳み込み構造。右が、MobileNetの構造。(出典:https://arxiv.org/pdf/1704.04861.pdf) 【ShuffleNet】 MobileNet同様に軽量軽快なネットワークですが、MobileNetでの畳み込みの分割に加えて、その名の通り、チャンネルをシャッフルしてチャンネル間での畳み込みを行い、特徴抽出を効率化するネットワーク構造です。 (出典:https://arxiv.org/pdf/1707.01083.pdf) ・上記ネットワーク構造に伴う、畳み込み層機能の拡張 【transpose convolution(転置畳み込み)】 Deconvolution(逆畳み込み)とも言われ、元となる画像に0 paddingして拡大してから畳み込む手法です。(上記U-Netに関連) 【group convolution(グループ化畳み込み)】 入力層をチャンネル方向にグループ分割して、グループごとに畳み込みを行い、最後に結合して出力する手法です。分割することで計算量を小さくすることができます。(上記MobileNet、ShuffleNetに関連) ・画像解析手法の拡張 【物体検出(Object Detection)手法にFaster R-CNNを追加】 R-CNNからFast R-CNN、そしてFaster R-CNNへと処理時間の短縮と精度向上が図られ進化してきているアルゴリズムです。 (出典:https://arxiv.org/pdf/1506.01497.pdf) DLPyの従来版からサポートしているYOLOに比べると処理時間はかかりますが、より高い精度を得ることができます。 【新たにセグメンテーション(Semantic Segmentation)に対応】 セグメンテーションは、画像中に存在する複数の物体や領域に対して、ピクセルレベルで推定する問題です。画像を入力すると、各画素に対して識別結果が付与された画像を出力します。一般的には、 Nクラスのセグメンテーションモデルは、Nチャンネルの出力画像を出力し、各チャンネルの画素値は各クラスの確率を表します。(上記U-Netに関連) 以上のように、PythonユーザーがDLPyを通して活用することができる、SAS Viyaのディープラーニング(CNN)機能が拡張されています。 ※DLPyの詳細に関しては、Githubサイトでご覧いただけます。 ※Enterprise Open Analytics Platform 「SAS Viya」 を知りたいなら「特設サイト」へGO!

Machine Learning | Students & Educators
0
オンラインコース「Machine Learning Using SAS Viya」のご紹介(Week5・6)

本記事では、SASのオンライン学習コース「Machine Learning Using SAS Viya」について引き続きご紹介します。このコースはGUI上で機械学習理論を学習できる無料のプログラムです。ご登録方法やWeek1・2については前々回の記事を、Week3・4については前回の記事をご参照ください。最終回となる本記事では、Support Vector Machineを扱うWeek5と、Model Deploymentを扱うWeek6をご紹介します。 Week5:Support Vector Machines Week1・2、Week3・4と同様に、通信事業会社の顧客解約率をテーマに機械学習の具体的手法について学習します。Week5ではサポートベクターマシンという手法を用い、解約可能性に基づき顧客を分類するモデルを作成します。 ・Building a Default Support Vector Machine Model Week5で扱うトピックはサポートベクターマシン(SVM)です。画像認識や文字認識、テキストマイニングで用いられることが多い手法で、複雑なパターンもフレキシブルに表現できるものの、結果の解釈が難しいという特徴を持ちます。分類問題に用いられることが多く、最も簡単な例としては、下の画像のように二種類の出力を分ける直線が挙げられます。この例では分類可能な直線は何通りも考えられますが、マージン最大化という手法を用いて最適な分類線を選択します。本セクションではこれらのSVMの基礎を学習しましょう。 ・Modifying the Model Methods of Solution 本セクションでは、あるデータセットが通常のSVMで分類できない場合に用いるソフトマージンという手法を学習します。通常のSVMとは異なり、この手法は分類の誤りをある範囲内で許容しますが、それぞれの誤りに対しペナルティを課します。合計のペナルティを最小化する境界を最適な分離平面とみなし、ラグランジュの未定係数法を用いて所望の境界を推定します。ペナルティに関するパラメータを変更しながら、モデルの性能を確認しましょう。 ・Modifying the Model Kernel Function 線形分離不可能なデータでも、ある写像により超平面での分離可能な高次元の特徴空間上の点に変換することでSVMが適用可能になります。この際、その特徴空間内における内積は、カーネル関数と呼ばれるものの評価に置き換えられる(カーネルトリック)という性質を用いると、計算量の爆発を防ぎSVMが実装可能です。このカーネル法を用いて、モデルの性能を改善してみましょう。SVMで扱うのはあくまで超平面であるため幾何的な解釈可能性があると言われるものの、多くの場合、依然として十分に複雑で結果の解釈が困難です。そこで解釈を助ける指標としてICEプロットや変数の重要度について学習します。 Week6:Model Deployment Week1~5ではデータの前処理やモデルの作成について学習してきました。最終回となるWeek6では、Analytics LifecycleのDeploymentの段階を学習します。 ・Model Comparison and Selection 今まで複数のモデルを学習してきましたが、すべての状況において最適なモデルは存在しません。様々な観点でモデル間比較を行い最も高性能なモデルをチャンピオンモデルとして採用します。主に数値的スコアに基づく比較が行われますが、その際、ROC曲線・AUC値を用いたモデル間性能比較や、ゲインチャート(CPHチャート)・LIFTチャートを用いたモデルの採用・不採用の間での比較などが行われます。これらの指標に加えて、ビジネスの文脈に応じ、学習や評価のスピード・実装可能性・ノイズへの頑健性・解釈可能性などを判断基準にすることも考えられます。 ・Model Scoring and Governance Week1ではData, Discovery, DeploymentからなるAnalytics Lifecycleの概要を学習しました。これまで顧客の解約予測モデルを作成してきましたが、Analyticsはそのモデルを使用して終わりではありません。ビジネスの状況は刻一刻と変化し、それに伴って新たなデータが蓄積されていきます。先ほど決定したチャンピオンモデルがいかに高性能であっても、一定期間後に同様の性能を持つかは決して自明ではなく、モデルのモニタリングを通して性能を逐一確認する必要があります。並行して、新たな状況に関してDataの段階から分析します。その際、新たなチャレンジャーモデルを作成し、現行のチャンピオンモデルとの性能比較によりモデルを改善する手法や、新たに入手したデータを用いて逐一モデルのパラメータを調整するオンラインアップデートという手法が用いて、モデルを高性能に維持します。モデル作成後も継続してDataやDiscoveryの作業を行うことが、Analytics

Machine Learning | Students & Educators
0
オンラインコース「Machine Learning Using SAS Viya」のご紹介(Week3・4)

前回に引き続き、SASのオンライン学習コース、「Machine Learning Using SAS Viya」についてご紹介します。これはGUI上で機械学習理論を学習できる無料のプログラムです。ご登録方法やWeek1・2に関しては前回の記事をご参照ください。本記事ではWeek3・4の内容をご紹介します。Week3ではDecision Treeについて、Week4ではNeural Networkについて取り扱います。 Week3:Decision Tree and Ensemble of Trees Week1・2と同様に、通信事業会社の顧客解約率をテーマに機械学習の具体的手法について学習します。Week3では、ディシジョンツリーという手法を用いて、解約しそうな顧客を分類するモデルを作成します。 ・Building a Default Decision Tree Model Week3は右図のようなディシジョンツリーについて学習します。これは、図のように各ノードに与えらえた条件式に基づき入力データを分類するモデルです。結果の解釈が容易である点が大きな特徴ですが、オーバーフィッティングに陥りやすいという欠点もあります。デモを参考に基本的なディシジョンツリーを作成しましょう。   ・Modifying the Model Tree Structure ディシジョンツリーはパラメータとして木の構造を変更する事ができます。最大の深さや子ノードの数を変えると木の大きさが変わり、葉の最大要素数を減らすと分割が細かくなります。データの複雑さや過学習などの観点から各パラメータの及ぼす影響を学習し、実際に条件を変更して結果を比べてみましょう。 ・Modifying the Model Recursive Partitioning ディシジョンツリーの作成手順について学習します。まず、ある一つの集合を複数の集合へ分割する基準(不等式など)を作成します。この際、すべての分割方法を考え、その中から要素を最も適切にグループ化できる基準を選択します。例えば動物をグループ化する下の例については、多くの動物が混じっている上の状態よりも、シマウマの比率が高い下の状態のほうが適切とみなせます。ジニ係数やエントロピーを用いると、このような複数のグループの純度を数値的に比較できます。以上のようなグループ化手順を順々に繰り返し、最終的に一つの木構造を作成します。再帰的分割と言われるこの手法の詳細や、分割選択基準となるエントロピー・ジニ係数について学習し、ディシジョンツリーの理論的構造を把握しましょう。 ・Modifying the Model Pruning ディシジョンツリーは、サイズが過度に大きいとオーバーフィッティングを引き起こし、逆に過度に小さいと十分な汎化性能が得られません。そこで、まず最大のツリーを作成した後、重要でないノードを切り落としていくことでサイズを段階的に小さくし、最終的にバリデーションデータに対するスコアが最大となるサイズのツリーを採用します。プルーニングと言われるこの手法を実践しましょう。ツリーの大きさなどモデルに対して外部から設定する条件はハイパーパラメータと言われ、モデルの性能を高めるにはその最適化(チューニング)が不可欠ですが、本セクションではそれを自動的に行う手法も学習します。   ・Building and Modifying Ensembles of Trees ディシジョンツリーは入力データの影響を受けやすく、微小な変化に対しても大きく構造を変化させるため、安定した構造を取りません。しかし、一般にツリーの構造が変わったとしてもモデルの性能に大きな差が生じないという特徴があります。この性質を活用して、複数の構造のツリーを作成し、その結果を合わせて予測を行うアンサンブルという手法が用いられます。本セクションでは、その代表的手法であるバギング・ブースティング・勾配ブースティング・フォレストについて学習します。また、これらのモデルを実装し、チューニング後のスコアの比較を行います。   Week4: Neural

Machine Learning | Students & Educators
0
オンラインコース「Machine Learning Using SAS Viya」のご紹介(Week1・2)

現在、機械学習が大ブームを巻き起こしており、各種ビジネスへ応用拡大の勢いはとどまるところを知りません。一方で、「“機械学習”という名前は聞くけど、よくわからない…。」、「“機械学習”について学んでみたいけど、プログラミングに自信はない…。」などと考えている方も少なくないはずです。そこで本記事では、煩わしいプログラミングなしで機械学習が学べる「Machine Learning Using SAS Viya」という学習コースについてご紹介します。 「Machine Learning Using SAS Viya」は、オンライン学習プラットフォーム、「Cousera」のコースの一つです。SAS Viya for LearnersというSAS の教育用環境を使用し、オンライン上で実際に手を動かしながら機械学習の基礎を学べます。GUIでの操作が基本であるため、プログラミングに自信のない方でも取り組めることが特徴です。本コースは六週間分のパートに分かれており、無料で教材の内容全ての閲覧が可能です。また、コースを購入すると採点機能の利用や修了証の発行などの機能も利用可能です。コースの言語は英語で、コース内動画は英語字幕に対応しています。 シラバスは以下のとおりです。 Week1:Getting Started with Machine Learning using SAS® Viya® Week2:Data Preparation and Algorithm Selection Week3:Decision Tree and Ensembles of Trees Week4:Neural Networks Week5:Support Vector Machine Week6:Model Deployment 本記事ではWeek1・Week2の内容を各セクションごとにご紹介します。 Week1:Getting Started with Machine Learning using SAS® Viya®

Advanced Analytics | Analytics | Artificial Intelligence | Data Visualization | Machine Learning
SAS Viya: ビジュアルパイプラインでスコアリング

SAS Viyaでは、Model Studioを使用し、機械学習のモデル、時系列予測のモデル、テキストマイニングのモデルをGUIベースの簡単マウス操作で作成することができます。モデル生成プロセスをグラフィカルなフロー図として描き、実行するだけです。このフロー図のことを「パイプライン」と呼んでいます。 「SAS Viya: ビジュアルパイプラインで予測モデル生成(基本編)」では、モデル生成と精度評価の基本的な流れを紹介しましたが、今回は、生成したチャンピオンモデルに新しいデータを当てはめてインタラクティブにスコアリングを実行する手順を紹介します。また、スコアリング結果のデータの探索や、エクスポートまで試してみましょう。 「SAS Viya: ビジュアルパイプラインで予測モデル生成(基本編)」で作成したパイプラインでは、勾配ブースティングのモデルの方が精度が高い=チャンピオンモデルだと判断されました。 それでは、このモデルに新しいデータを当てはめてスコアリングを実行してみましょう。 まず、画面左側の機能ノードリストの「その他」セクション内にある「データのスコア」を「勾配ブースティング」ノード上にドラッグすると、「勾配ブースティング」ノードの下に「データのスコア」ノードが追加されます。 「データのスコア」ノードを選択し、画面右側で以下の項目を指定します。 ・モデルに当てはめるデータテーブル名 ・スコアリング結果データの出力先ライブラリとテーブル名 「データのスコア」を右クリックし、表示されるメニューから「実行」をクリックすると、スコアリングが実行されます。 スコアリング処理が完了すると「データのスコア」ノード上に緑色のチェックマークアイコンが表示されます。 それでは、スコアリング結果のデータを見てみましょう。 「データのスコア」ノードを右クリックし、表示されるメニューから「結果」を選択します。 すると、データのスコアの結果画面が表示され、「出力データ」タブ内で、データの中身を確認することができます。「予測:BAD=1」列に、顧客ごとの延滞確率に相当するスコア値が表示されています。 それでは、このデータを探索してみましょう。 「探索とビジュアル化」アイコンをクリックし、 表示される画面内で、このデータを探索用に保存する先のライブラリとテーブル名を指定し、「探索とビジュアル化」ボタンをクリックします。 すると、このデータに基づき、「SAS Visual Analytics – データ探索とビジュアル化」画面が表示され、データ探索やレポーティングが可能になります。 例えば、スコア値である「予測:BAD=1」変数と「資産に対する負債の割合」変数の関係性を探索したり、 スコア値が0.7以上の顧客データをエクスポートして、二次活用したり、等々も簡単です。 以上のように、SAS Viyaでは、データの準備はもとより、モデル生成からスコアリング、そして、スコアリング結果データの探索からエクスポートまでをGUIベースでシームレスに実施することができるんですね。 ※Enterprise Open Analytics Platform 「SAS Viya」 を知りたいなら「特設サイト」へGO! ※「ビジュアルパイプラインでスコアリング」は、SAS Viya特設サイトにデモ動画を近々公開予定です。

Analytics
Gastbeitrag 0
SAS Viya trifft auf Open Source und Deep Learning

Wie lassen sich leistungsstarke Analytics und Open Source miteinander vereinbaren? Diese Frage beantwortet unser Gastautor Alexander Buchwald von der mayato® GmbH.   Open Source und kommerzielle Software waren nicht immer die besten Freunde. In Zeiten digitalen Wandels sind jedoch agile Softwareentwicklung und maximale Flexibilität gefragt. Darauf müssen sich Softwarehersteller jeder Couleur

SAS Administrators
Gerry Nelson 0
Where are my Viya files?

When working with files like SAS programs, images, documents, logs, etc., we are used to accessing them in operating system directories. In Viya, many of these files are not stored on the file-system. Let's look at where and how files are stored in Viya, and how to manage them.

Analytics | Machine Learning
David Tareen 0
Malignant or benign? Cancer detection with SAS Viya and NVIDIA GPUs

According to the World Cancer Research Fund, Breast cancer is one of the most common cancers worldwide, with 12.3% of new cancer patients in 2018 suffering from breast cancer. Early detection can significantly improve treatment value, however, the interpretation of cancer images heavily depends on the experience of doctors and technicians. The

1 4 5 6 7 8 37