Advanced Analytics

Move beyond spreadsheets to data mining, forecasting, optimization – and more

Advanced Analytics | Analytics | Machine Learning
SAS Viya:ビジュアルパイプラインで予測モデル生成(自動特徴量エンジニアリングテンプレート編)

ビジュアルパイプラインで予測モデル生成(テンプレート使用編)では、SAS ViyaのModel Studioを使用し、標準で実装されているパイプラインのテンプレートを使用して、予測モデルを自動生成する手順を紹介しました。 今回は、標準実装のテンプレートに含まれている、「自動特徴量エンジニアリングテンプレート」を紹介します。 「特徴」=入力=変数(独立変数、説明変数)であり、 特徴量エンジニアリングとは、予測モデルの精度を高めるために、学習用の生データに基づき、特徴を変換したり、抽出したり、選択したり、新たな特徴を作り出す行為です。 以下は、特徴量エンジニアリングの例です。 ・郵便番号などの高カーディナリティ名義変数のエンコーディング(数値化) ・間隔尺度の変数の正規化、ビニング、ログ変換 ・欠損パターンに基づく変換 ・オートエンコーダー、主成分分析(PCA)、t-SNE、特異値分解(SVD)などの次元削減 ・季節的な傾向を把握するために、日付変数を別々の変数に分解して曜日と月と年の新しい変数を作成 より良い「特徴」を作り出し、選択することで、予測モデルの精度が向上するだけでなく、モデルを単純化し、モデル解釈可能性を高めるのにも役立ちます。 しかし、従来、予測モデリングのプロセスにおいて、データサイエンティストは、その多くの時間を特徴量エンジニアリングに費やしてきました。しかも、特徴量エンジニアリングの良し悪しは、データサイエンティストのスキルに大きく依存してしまいます。 こうした課題に対処するために、SAS Viyaでは、自動特徴量エンジニアリングテンプレートを提供しています。このテンプレートを使用することで、特別なスキルを必要とせず、特徴量エンジニアリングにかける時間を短縮し、より精度の高い予測モデル生成が可能になります。 以下が、SAS ViyaのModel Studioに実装されている「自動特徴量エンジニアリングテンプレート」です。 このテンプレートは、大きく3つのステップで構成されています。 高カーディナリティ変数に対するエンコーディング(数値化) 最良変換、PCA / SVD、オートエンコーダーを使用して新たな特徴を作成 特徴エンジニアリング未/済みデータに基づく予測モデルの精度比較 ステップ1.高カーディナリティ変数に対するエンコーディング(数値化) このステップの最初のノードは、「SASコード高カーディナリティ」という名のSASコードノードです。 SASコードノードを使用することで、SASプログラムをパイプラインに組み込むことができます。 このノードを選択し、右側画面内でコードエディタ:「開く」をクリックすると、その内容を確認できます。 このSASコードノードでは、最初に、20〜1,000レベルのカーディナリティの高い変数(固有値が多すぎる名義変数)を識別します。minlevelsとmaxlevelsの値を更新することで、この範囲を簡単に変更することもできます。次に、数値変換(TRANSFORM = LEVELENCODE)を指定し、これらの変数に対してのみレベル(水準)エンコーディングを行います。実際に変換を行うためには、「データマイニングの前処理」にある「変換」ノードを実行する必要があるため、「変換」ノードが接続されています。 レベルエンコーディングでは、名義を数値に変換します。これは、カーディナリティの高い変数を扱う場合に特に便利です。これらの変数は、ほとんどの機械学習アルゴリズムにおいてコンピューティングリソースの負荷をあげてしまうことが多いからです。最初に名義変数のレベルをアルファベット順に並べ替え、各レベルに昇順に数字(1から始まる)を割り当てます。 ステップ2.最良変換、PCA / SVD、オートエンコーダーを使用して新たな特徴を作成 ステップ2では、以下の3つの異なる自動特徴量エンジニアリング手法が適用されます。 変換-最良(Best):このノードは、「データマイニングの前処理」にある「変換」ノードを使用して、すべての間隔変数に対して「最良(Best)」の変換を行います。この方法では、各間隔変数に対して、ランク付け基準(ターゲットとの相関など)に基づいて、単一変数の変換(逆変換、標準化、センタリング、ログ変換など)を比較し、最も高いランク付けを持つ変換を選択します。 特徴抽出- PCA:このノードは、「データマイニングの前処理」にある「特徴抽出」ノードを使用して、間隔入力変数に対する自動特徴抽出手法として「自動」を指定しています。「自動」では、間隔入力変数の総数が500以下の場合は、主成分分析(PCA)が適用され、それ以外の場合は、特異値分解(SVD)が適用されます。 特徴抽出-自動エンコーダ:このノードでは、オートエンコーダを用いて特徴抽出を行います。この手法では、特徴抽出にすべての入力変数(間隔と名義)を使用します。オートエンコーダーは、入力データを再構成するために使用できる特徴のセットを学習することを目的とした教師なし学習技術です。手短に言えば、ニューラルネットワークは、ターゲット(出力)ニューロンを入力ニューロンと等しく設定することによって訓練されるものです。 このノードでは、中間隠れ層が10に設定されているので、10個の新しい特徴が作成されます。 ステップ3.特徴エンジニアリング未/済みデータに基づく予測モデルの精度比較 最後のステップでは、勾配ブースティングを用いた5つの異なる予測モデルが生成されます。 ・高カーディナリティー変数のレベルエンコーディング+特徴抽出(PCA)を施したデータに基づくモデル ・高カーディナリティー変数のレベルエンコーディング+特徴抽出(オートエンコーダー)を施したデータに基づくモデル ・高カーディナリティー変数のレベルエンコーディング+変換-最良を施したデータに基づくモデル ・高カーディナリティー変数のレベルエンコーディングを施したデータに基づくモデル ・元のデータ(特徴量エンジアリングを施していない)に基づくモデル 5つのモデルを生成後、パフォーマンスを比較します。勾配ブースティングは、非常に効果的な教師あり学習アルゴリズムであり、予測精度の面で他のアルゴリズムより優れていることが多いため、使用しています。

Advanced Analytics | Analytics | Machine Learning
SAS Viya: ビジュアルパイプラインで予測モデル生成(テンプレート使用編)

ビジュアルパイプラインで予測モデル生成(基本編)では、SAS ViyaのModel Studioを使用し、パイプラインを一から作成し、予測モデルを生成する手順を紹介しました。 今回は、前回からの続きとして、予め用意されているパイプラインのテンプレートを使用した、モデル生成手順を紹介します。 パイプライン・テンプレートの選択と実行 実行結果(モデル精度)の確認 1.パイプライン・テンプレートの選択と実行 パイプラインの追加アイコンをクリックすると、 「パイプラインの新規作成」ダイアログが表示されます。 パイプラインの名前を入力し、「テンプレート」から「テンプレートの参照…」を選択すると、 標準で実装されているテンプレートのリストが表示されます。 この中から使用したいテンプレートを選択し、「OK」をクリックします。今回は、「分類尺度のターゲット変数の高度なテンプレート」を使用します。 さらに、「保存」をクリックすると、 選択したパイプラインの内容が表示されます。 このテンプレートでは、以下の7つのモデルを生成し、結果を比較することができます。 ・データに対する前処理(欠損値補完と変数選択)後に、ロジスティック回帰(ステップワイズ法)とニューラルネットワークでモデル生成 ・データに対する前処理(欠損値補完)後に、ロジスティック回帰(増加法)でモデル生成 ・データに対する前処理無しで、勾配ブースティング、フォレスト、ディシジョンツリーでモデル生成 ・上記6つのモデルのアンサンブルモデルの生成 ※テンプレートに使用されている機能ノードごとの詳細なオプション内容は右側画面内で確認でき、必要に応じて変更可能です。また、パイプライン内への機能ノードの追加・削除・変更などカスタマイズも可能です。 ※一から作成したパイプラインや、既存テンプレートをカスタマイズしたパイプラインを、その企業独自のテンプレートとして共有し、活用することができます。 ※一つのプロジェクト内に、複数のパイプラインを作成し、結果を比較することができます。 パイプラインの実行アイコンをクリックし、実行します。実行中の機能ノードは時計アイコンがクルクル回転し、正常に完了すると緑のチェックマークが表示されます。 2.実行結果(モデル精度)の確認 パイプラインの実行が完了したら、ビジュアルパイプラインで予測モデル生成(基本編)と同様に、「モデルの比較」ノードのスノーマンアイコンをクリックし、メニューから「結果」を選択し、このパイプラインの実行結果を確認することができます。 また、一つのプロジェクト内で、複数のパイプラインを作成している場合には、パイプライン間でモデル精度を比較し、プロジェクト内でのチャンピオンモデルを確認することができます。 画面上部の「パイプラインの比較」をクリックします。 パイプライン2の勾配ブースティングのモデルの精度が最も高い、チャンピオンモデルであることが示されています。 以上が、パイプラインのテンプレートを使用して、予測モデルを生成する際の手順です。 コーディングスキルを持たないビジネスユーザーでも、まず、学習用のデータを選択し、予測対象の項目を選択し、テンプレートを選んで実行するだけで、精度の高いの予測モデルを自動生成することができるということです。 ※ビジュアルパイプラインのテンプレートを使用したモデル生成は、SAS Viya特設サイトにある動画でもご覧いただけます。  

Advanced Analytics | Analytics | Machine Learning
SAS Viya: ビジュアルパイプラインで予測モデル生成(基本編)

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特設サイトの「機械学習」トピック内にある動画でもご覧いただけます。

Advanced Analytics | Analytics
Jeanne (Hyunjin) Byun 0
새 국제회계기준 ‘IFRS 17’ – 회계 패러다임의 변화

새로운 국제회계기준 IFRS(International Financial Reporting Standards) 17은 보험 업계 역사에 한 획을 긋는 대대적인 변화입니다. 보험 부채의 평가 기준을 원가에서 시가로 변경하는 것을 골자로 보험사의 재무 보고 투명성을 높이기 위한 일련의 새로운 규칙을 명시하는데요. 오래 전부터 이러한 변화를 기다려온 분석가와 여러 이해관계자들에게는 매우 반가운 소식일 것입니다. 실제 IFRS 17은 다양한 국가별

Advanced Analytics | Analytics
Michael Pawlak 0
How are CSPs using real-time analytics to improve customer experience?

How important is the customer experience in communications today? “Very important” is an understatement. It should be the top area of focus for all communications providers. It’s no secret that when customers are extremely satisfied, they become brand champions for the companies that provide them the products and services they

Advanced Analytics | Artificial Intelligence | Machine Learning
SAS Korea 0
머신러닝 해석력 시리즈 3탄: 부분의존성(PD) & 개별조건부기대치(ICE) 플롯 정복하기!

머신러닝 모델 해석력 시리즈 3탄! 오늘은 머신러닝 모델의 작동 원리에 대한 인사이트를 도출할 수 있는 변수를 표시하는 두 가지 방법에 대해 자세히 살펴보고자 합니다. 머신러닝 모델 해석력 시리즈 1탄과 2탄을 놓치셨다면, 클릭해주세요! 1탄: 인공지능(AI)과 머신러닝을 신뢰하기 위한 필수 조건, 해석력! 2탄: 머신러닝 해석력 시리즈 2탄: 데이터 세트를 이해하고 해석하는 방법 데이터 과학자가 모델이

Advanced Analytics | Analytics | Data Management
José Mutis O. 0
Ebook - La analítica avanzada en tiempos de lo extraordinario

La analítica avanzada y sus beneficios crecen exponencialmente con la consolidación de la economía digital y la Cuarta Revolución Industrial, dos componentes sin los cuales el desarrollo de nuestra sociedad y de los negocios como los conocemos no sería posible. Los millones de datos que se producen bajo estas condiciones hace

Advanced Analytics | Analytics | Artificial Intelligence | Machine Learning
「Pipefitter」の応用 ~CNN(特徴抽出器)+機械学習(分類器)でCNNの欠点を補完

前回は、SASの「Pipefitter」の基本的な使用方法を紹介しました。続く今回は、基本内容を踏まえ、ひとつの応用例を紹介します。 SAS Viyaのディープラーニング手法の一つであるCNNを「特徴抽出器」として、決定木、勾配ブースティングなどを「分類器」として使用することで、データ数が多くないと精度が出ないCNNの欠点を、データ数が少なくても精度が出る「従来の機械学習手法」で補強するという方法が、画像解析の分野でも応用されています。 以下は、SAS Viyaに搭載のディープラーニング(CNN)で、ImageNetのデータを学習させ、そのモデルに以下の複数のイルカとキリンの画像をテストデータとして当てはめたモデルのpooling層で出力した特徴空間に決定木をかけている例です。 In [17]: te_img.show(8,4) 以下はCNNの構造の定義です。 Build a simple CNN model   In [18]: from dlpy import Model, Sequential from dlpy.layers import * from dlpy.applications import *   In [19]: model1 = Sequential(sess, model_table='Simple_CNN')   Input Layer   In [20]: model1.add(InputLayer(3, 224, 224, offsets=tr_img.channel_means))   NOTE: Input

Advanced Analytics | Analytics | Artificial Intelligence | Machine Learning
機械学習のパイプラインを簡素化するPython向けパッケージ「Pipefitter」

SASでは、Python向けパッケージ/ライブラリとして、機械学習のパイプラインの実装を簡素化する「Pipefitter」を提供しています。 SASの「Pipefitter」パッケージは、SAS Viyaまたは、SAS v9の反復可能なワークフローの一つの段階として、データ変換とモデルフィッティング向けパイプラインを開発するためのPython APIを提供します。 このパッケージを使用すると、SASでデータを操作して、次のような処理を実装できます: ・欠損値補完 ・デシジョンツリー、ニューラルネットワーク、およびその他の機械学習テクニックを使用したパラメータ推定値の適合 ・ハイパーパラメータチューニングを使用したモデル選択の高速化 ・スコアリングとモデル評価 「Pipefitter」のもう一つの重要な特徴は、SASが提供する他の2つのPythonパッケージの能力に基づいていることです。 SWAT: SAS Viyaプラットフォームのインメモリー分析エンジンであるSAS Cloud Analytic Services(CAS)を活用し様々なデータ操作や分析を可能にするPython向けパッケージ SASPy: SAS9.4の機能を活用し、分析、データ操作、および視覚化を行うためのPython向けパッケージ ロジスティック回帰でのパラメータ推定などのパイプライン処理は、SASPyを介してSAS 9で、SWATを介してCASで同じように実行されるように設計されています。 以下は、タイタニック号の乗船者データに基づくパイプラインの例です。 まず、KaggleのサイトからPandas DataFrameにデータをダウンロードします。 In [1]: import pandas as pd In [2]: train = pd.read_csv('http://s3.amazonaws.com/assets.datacamp.com/course/Kaggle/train.csv')   In [3]: train.head() Out[3]: PassengerId Survived Pclass 0 1 0 3 1 2 1

Advanced Analytics | Analytics | Data Management | Fraud & Security Intelligence
Renato Fiorini 0
Mitigar el riesgo, una prioridad para las compañías en la economía digital

La economía digital surgió a raíz del avance de la tecnología en la informática y las telecomunicaciones. El último Modelo de Gestión de Riesgos de Seguridad Digital entregado por el Ministerio de Tecnologías de la Información y las Comunicaciones -MinTIC-, afirma que en los últimos 20 años el acceso a

Advanced Analytics | Artificial Intelligence | Customer Intelligence
SAS Korea 0
스포츠 클럽, 분석으로 선수와 경기에 대한 완전한 그림을 그리다

스포츠 클럽은 다양한 소스로부터 수많은 데이터를 수집합니다. 선수들의 건강 상태에 대한 물리적 데이터, 의료 정보, 득점이나 경기 시간 등의 성과 데이터가 대표적인데요. 이외에도 티켓 가격, 판매, 시즌권 패턴 등 팀 운영 측면에서 다양한 데이터가 모입니다. 스포츠 클럽은 이전에도 데이터를 활용해왔습니다. 경기 장면을 촬영하고 실시간으로 또는 경기가 끝난 후 주요 영상(footage)을

Advanced Analytics | Data Visualization
Sertalp B. Cay 0
Visiting all 30 Major League Baseball Stadiums - with Python and SAS® Viya®

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

Advanced Analytics | Artificial Intelligence | Machine Learning
Ilknur Kaynar Kabul 0
Interpret model predictions with partial dependence and individual conditional expectation plots

We have updated our software for improved interpretability since this post was written. For the latest on this topic, read our new series on model-agnostic interpretability.  Assessing a model`s accuracy usually is not enough for a data scientist who wants to know more about how a model is working. Often

Advanced Analytics | Artificial Intelligence | Machine Learning
Yue Qi 0
Recurrent neural networks: An essential tool for machine learning

Sequence models, especially recurrent neural network (RNN) and similar variants, have gained tremendous popularity over the last few years because of their unparalleled ability to handle unstructured sequential data. The reason these models are called “recurrent” is that they work with data that occurs in a sequence, such as text

Advanced Analytics | Analytics
Mauricio González 0
Cómo la analítica equilibra precios competitivos y permite rentabilidad sana

Todo se basa en una sencilla teoría económica: cuando los precios de los productos aumentan, la gente no está dispuesta a pagarlos y, en consecuencia, la demanda se va a pique; evidentemente, sucede el efecto contrario cuando se reducen. No obstante, el mecanismo que se activa al modificar dicho valor

Advanced Analytics | Data for Good
SAS Korea 0
헬스케어 데이터 분석, ‘인간 중심 의료’ 체계를 구축하다

3월 라스베이거스에서 전 세계 4만명 이상의 헬스케어 IT 전문가, 임상의, 기업 경영진 등이 참여한 가운데 세계적인 헬스케어 IT 컨퍼런스 ‘HIMSS (Healthcare Information and Management Systems Society)’가 개최됐습니다. 기조연설을 맡은 에릭 슈미트(Eric Schmidt) 전 구글 CEO는 인간 중심 의료(person-centered care)의 중요성에 대해 역설하며 주목 받았는데요. 이어 무대에 오른 시마 버마(Seema Verma) 미국 의료서비스센터(CMS)

Advanced Analytics | Analytics | Customer Intelligence | Internet of Things
Héctor Cobo 0
Anticipar y no reaccionar, las ventajas de una cadena de suministro efectiva

Sábado por la tarde. Un aficionado al futbol visita la tienda de conveniencia más cercana para comprar todo lo necesario para disfrutar el partido de su equipo favorito: botanas, comida, bebidas. Recorre los pasillos, pero no encuentra todo lo que quiere. Pregunta al dependiente; éste le responde que algunos de

Advanced Analytics | Data Management | Programming Tips
Leonid Batkhan 0
SAS tools for GDPR privacy compliant reporting

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.

1 21 22 23 24 25 53

Back to Top