Oracle Analytics予測モデルの作成および使用

Oracle Analyticsの予測モデルでは、いくつかの埋込み機械学習アルゴリズムを使用して、データセットのマイニング、ターゲット値の予測、またはレコードのクラスの識別を行います。予測モデルの作成やトレーニング、データへの適用には、データ・フロー・エディタを使用します。

Oracle Analytics予測モデルとは

Oracle Analytics予測モデルは、データセットに特定のアルゴリズムを適用し、値やクラスの予測をしたり、そのデータ内のグループを識別します。

Oracle機械学習モデルは、データの予測にも使用できます。Oracle AnalyticsでOracle機械学習モデルを使用するにはどのようにすればよいですかを参照してください

Oracle Analyticsには、様々な目的のために予測モデルをトレーニングするのに役立つアルゴリズムが含まれています。アルゴリズムの例としては、分類および回帰ツリー(CART)、ロジスティック回帰、K平均法などがあります。

データ・フロー・エディタを使用して、まずトレーニング・データセットのモデルをトレーニングします。予測モデルをトレーニングした後で、予測するデータセットにその予測モデルを適用します。

トレーニング済モデルを他のユーザーが使用できるようにすると、ユーザーはそのモデルをデータに適用して値を予測できるようになります。場合によっては、特定のユーザーがモデルをトレーニングし、他のユーザーがそのモデルを適用することがあります。

ノート:

データ内の何を見るべきかわからない場合は、Explainを使用することから始め、機械学習を使用して傾向とパターンを特定できます。データ・フロー・エディタを使用して、予測モデルを作成およびトレーニングし、見つかった傾向とパターンを詳しく調べることができます。「Explainとは」を参照してください。
データ・フロー・エディタを使用して、モデルをトレーニングします。
  • まず、データ・フローを作成し、モデルのトレーニングに使用するデータセットを追加します。このトレーニング・データセットには、予測するデータ(売上や年齢のような値や、信用リスク・バケットのような変数など)が含まれています。
  • 必要な場合は、データ・フロー・エディタを使用して列の追加や選択、結合などを行い、データセットを編集できます。
  • データがモデルのトレーニング対象であることを確認した後、データ・フローにトレーニング・ステップを追加し、分類(バイナリまたはマルチ)、回帰またはクラスタのアルゴリズムを選択してモデルをトレーニングします。次に、作成されたモデルに名前を付け、データ・フローを保存し、それを実行してモデルをトレーニングおよび作成します。
  • 機械学習オブジェクトのプロパティを調査して、モデルの品質を判別します。必要に応じて、モデルが必要な品質に達するまでトレーニング・プロセスを繰り返すことができます。

完成したモデルを使用して、不明またはラベルのないデータをスコアリングし、データ・フロー内にデータセットを生成するか、ワークブックに予測ビジュアライゼーションを追加します。

たとえば、心疾患を発症するリスクが高い患者を予測するために複数分類モデルを作成してトレーニングするとします。

  1. 年齢や性別、これまでに胸の痛みを感じたことがあるかなど、個々の患者に関する属性と、血圧や空腹時血糖、コレステロール、最大心拍数などのメトリックを含むトレーニング・データセットを用意します。トレーニング・データセットには、値absent、less likely、likely、highly likelyまたはpresentのいずれかが割り当てられた"Likelihood"という名前の列も含めます。
  2. CART (ディシジョン・ツリー)アルゴリズムを使用します。これは、このアルゴリズムが予測の値を追加しない冗長な列を無視し、ターゲットの予測に役立つ列のみを識別および使用するためです。データ・フローにアルゴリズムを追加する場合、「尤度」列を選択してモデルをトレーニングします。アルゴリズムでは機械学習を使用して、予測の実行および予測や関連データセットの出力に必要なドライバ列を選択します。
  3. 結果を調べて、トレーニング・モデルを細かく調整した後、そのモデルをより大規模なデータセットに適用して、心臓病にかかっている、またはかかる可能性が高い患者を予測します。

予測モデル・アルゴリズムの選択方法

Oracle Analyticsには、機械学習のモデル化のニーズ(数値予測、複数分類子、バイナリ分類子、およびクラスタリング)用のアルゴリズムが用意されています。

Oracleの機械学習機能は、検索対象が何であるか、予測分析の実践方法の詳細、およびアルゴリズム間の相違点を理解している高度なデータ・アナリストを対象としています。

通常、ユーザーは、複数の予測モデルを作成して比較し、ユーザーの基準と要件を満たす結果をもらたす可能性が最も高いものを選択することを求めています。これらの基準は異なる場合があります。たとえば、ユーザーは、全体の精度がより高いモデルを選択したり、タイプI (偽陽性)とタイプII (偽陰性)のエラーが最も少ないモデルを選択したり、結果が最適ではないとしても、許容レベルの精度を持つ結果をより速く返すモデルを選択したりする場合があります。

Oracle Analyticsには、予測または分類の種類ごとに複数の機械学習アルゴリズムが含まれています。これらのアルゴリズムを使用すると、ユーザーは複数のモデルを作成することも、微調整されたパラメータを複数使用することも、複数の入力トレーニング・データセットを使用して最適なモデルを選択することもできます。ユーザーは、独自の基準に基づいてモデルを比較および重み付けすることにより、最適なモデルを選択できます。最適なモデルを判断するには、モデルを適用し、計算の結果をビジュアル化して精度を判断するか、Oracle Analyticsでモデルを使用して出力された関連データセットを開いて調査します。予測モデルの関連データセットとはを参照してください。

提供されているアルゴリズムについて学習するには、次の表を参照してください。

名前 タイプ カテゴリ 関数 説明
CART

分類

回帰

二項分類子

多項分類子

数値

- ディシジョン・ツリーを使用して、離散値と連続値の両方を予測します。

大規模データセットに使用します。

Elastic Net線形回帰 回帰 数値 ElasticNet 高度な回帰モデル。追加情報(正則化)を提供し、変数選択を実行し、一次結合を実行します。LassoおよびRidge回帰法のペナルティ。

多数の属性とともに使用して、共線性(複数の属性が完全に相関関係にある状態)およびオーバーフィットを回避します。

階層 クラスタリング クラスタリング AgglomerativeClustering ボトムアップ(各観察はそれぞれ独自のクラスタであり、後でマージされます)またはトップダウン(すべての観察が1つのクラスタとして開始されます)および距離メトリックを使用して、クラスタリングの階層を構築します。

データセットが大規模ではなく、クラスタの数が事前にわからない場合に使用します。

K平均法 クラスタリング クラスタリング k-means 反復的にレコードをkクラスタにパーティション化し、各観察が最も近い平均値を持つクラスタに属するようにします。

メトリック列をクラスタ化し、必要なクラスタの数が見込まれている場合に使用します。大きなデータセットの場合に有効に機能します。結果は実行ごとに異なります。

線形回帰 回帰 数値 最小二乗法

リッジ

Lasso

データセット内のターゲット変数とその他の属性間のモデリング関係に対する線形アプローチ。

属性が完全に相関していない場合に、数値を予測するために使用します。

ロジスティック回帰 回帰 二項分類子 LogisticRegressionCV カテゴリ依存変数の値を予測するために使用します。依存変数は、1または0にコーディングされたデータを含むバイナリ変数です。
Naive Bayes 分類

二項分類子

多項分類子

GaussianNB 機能間に依存性がないことを前提としたベイズの理論に基づく確率的な分類。

入力ディメンションが多数ある場合に使用します。

ニューラル・ネットワーク 分類

二項分類子

多項分類子

MLPClassifier 分類結果と実際の値を比較して学習し、その結果をネットワークに返してその後の反復のためにアルゴリズムを変更する反復分類アルゴリズム。

テキスト分析に使用します。

ランダム・フォレスト 分類

二項分類子

多項分類子

数値

- 複数のディシジョン・ツリーを構成し、すべてのディシジョン・ツリーをまとめて表す値を出力するアンサンブル学習法。

数値およびカテゴリ変数を予測するために使用します。

SVM 分類

二項分類子

多項分類子

LinearSVC、SVC レコードを空間内でマッピングし、分類に使用できる超平面を構築することで、レコードを分類します。新しいレコード(スコアリング・データ)は空間にマップされ、カテゴリに属すると予測されます。これは、レコードが属する超平面の側に基づきます。

予測モデルの作成およびトレーニング

解決が必要な問題に基づいて、拡張データ・アナリストが適切なアルゴリズムを選択し、予測モデルをトレーニングし、次にモデルの結果を評価します。

正確なモデルへの到達は反復プロセスであり、拡張データ・アナリストは様々なモデルを試して、その結果を比較し、試行錯誤に基づいてパラメータを微調整できます。データ・アナリストは、ファイナライズされた正確な予測モデルを使用して、その他のデータセットの傾向を予測したり、モデルをワークブックに追加できます。

Oracle Analyticsには、数値予測、複数分類、バイナリ分類およびクラスタリング用のアルゴリズムが用意されています。アルゴリズムを選択する方法の詳細は、予測モデル・アルゴリズムの選択方法を参照してください。

  1. ホーム・ページで、「作成」をクリックしてから、「データ・フロー」を選択します。
  2. モデルのトレーニングに使用するデータセットを選択します。「追加」をクリックします。
    通常は、モデルのトレーニングに特化して用意されていて、予測するデータのサンプルが含まれているデータセットを選択します。モデルの精度は、トレーニング・データの代表性によって異なります。
  3. データ・フロー・エディタで、「ステップの追加(+)」をクリックします。
    データセットを追加したら、モデルの作成にデータセットのすべての列を使用することも、関連する列のみを選択することも可能です。関連する列を選択するには、そのデータセットを理解している必要があります。結果の動作に影響しないことがわかっている列、または冗長な情報を含む列は無視します。「列の選択」ステップを追加することで、関連する列のみを選択できます。関連する列がわからない場合は、すべての列を使用します。
  4. モデルのトレーニング・ステップのいずれかを選択します(「数値予測のトレーニング」「クラスタリングのトレーニング」など)。
  5. アルゴリズムを選択して、「OK」をクリックします。
  6. 予測や分類などの教師ありモデルで作業している場合は、「ターゲット」をクリックして、予測しようとしている列を選択します。たとえば、個人の収入を予測するモデルを作成する場合は、「収益」列を選択します。
    クラスタリングなど、教師なしモデルで作業している場合、ターゲット列は必要ありません。
  7. モデルのデフォルト設定を変更して微調整し、予測結果の精度を改善します。これらの設定は、操作中のモデルによって決定されます。
  8. 「モデルの保存」ステップをクリックして、名前と説明を指定します。これは、生成された予測モデルの名前になります。
  9. 「保存」をクリックし、データ・フローの名前および説明を入力し、「OK」をクリックしてデータ・フローを保存します。
  10. 「データ・フローの実行」をクリックし、指定した入力データセットおよびモデル設定に基づいて予測モデルを作成します。

予測モデルの検査

予測モデルを作成し、データ・フローを実行すると、モデルに関する情報を確認して、その正確性を判断できます。この情報を使用して、モデルの設定を繰り返し調整することで、その正確性を向上させ、より質の高い結果を予測します。

予測モデルの詳細の表示

予測モデルの詳細情報は、モデルの理解およびデータの予測に適しているかどうかの判断に役立ちます。モデルの詳細には、そのモデル・クラス、アルゴリズム、入力列および出力列が含まれます

  1. ホーム・ページで、「ナビゲータ」をクリックしてから、「機械学習」をクリックします。
  2. トレーニング・モデルのメニュー・アイコンをクリックして「検査」を選択します。
  3. 「詳細」をクリックしてモデルの情報を表示します。

予測モデルの質の評価

予測モデルの質の理解に役立つ情報を表示します。たとえば、モデル精度、適合率、再現率、F1値、偽陽性比率などの正確性のメトリックを確認できます。

Oracle Analyticsでは、モデルの作成に使用されるアルゴリズムに関係なく同じメトリックが提供されるため、異なるモデル間の比較が簡単になります。モデル作成プロセスでは、入力データセットが2つに分割され、パーティションのトレーニング率パラメータに基づいてモデルのトレーニングおよびテストが行われます。モデルはデータセットのテスト部分を使用して、作成されるモデルの精度をテストします。
「品質」タブの知見に基づいて、モデル・パラメータを調整して再トレーニングする必要がある場合があります。「予測モデルの作成およびトレーニング」を参照してください。
  1. ホーム・ページで、「ナビゲータ」をクリックしてから、「機械学習」をクリックします。
  2. トレーニング・モデルのメニュー・アイコンをクリックして「検査」を選択します。
  3. 「品質」タブをクリックしてモデルの質のメトリックを確認します。

予測モデルの関連データセットとは

データ・フローを実行してOracle Analytics予測モデルのトレーニング・モデルを作成すると、Oracle Analyticsによって一連の関連データセットが作成されます。これらのデータセットに関するワークブックを開いたり作成することによって、モデルの精度について学習できます。

予測モデルの関連データセットの検出を参照してください。

モデルに選択するアルゴリズムに応じて、関連データセットには、予測ルールや精度メトリック、混同行列、予測のキー・ドライバなど、モデルの詳細が含まれます。この情報を基にモデルを細かく調整して結果を向上させたり、関連データセットを使用してモデルを比較し、より正確なモデルはどちらかを判断することが可能です。

たとえば、ドライバ・データセットを開いて、モデルに強いプラスまたはマイナスの影響がある列を明らかにできます。これらの列を調べることで、一部の列が現実的な入力ではない、または予測に対しては細かすぎるため、モデル変数として扱われないことがわかります。データ・フロー・エディタを使用してモデルを開き、検出した情報に基づいて、無関係な列や細かすぎる列を削除してモデルを再生成します。「品質」および「結果」タブをチェックし、モデルの精度が向上しているかどうかを確認します。モデルの精度に問題がなくなり、新しいデータセットをスコアリングする準備が整うまでこのプロセスを続けます。

アルゴリズムが異なっても、類似した関連データセットが生成されます。データセットの個々のパラメータおよび列名はアルゴリズムのタイプによって変わることがありますが、データセットの機能は変わりません。たとえば、統計データセットの列名が線形回帰からロジスティック回帰に変わることがあっても、統計データセットにはモデルの精度メトリックが含まれます。

関連データセットを次に示します。

CARTree

このデータセットはCART (ディシジョン・ツリー)を表形式で表したもので、ターゲット列値を予測するために計算されます。これには、ディシジョン・ツリーの条件と条件の基準、各グループの予測、および予測信頼度を表す列が含まれています。組込みツリー図ビジュアライゼーションは、このディシジョン・ツリーをビジュアル化するために使用できます。

CARTreeデータセットは、次に示すモデルとアルゴリズムの組合せを選択した場合に出力されます。

モデル アルゴリズム
数値 数値予測のCART
二項分類 CART (ディシジョン・ツリー)
多項分類 CART (ディシジョン・ツリー)

分類レポート

このデータセットは、ターゲット列の個別値ごとの精度メトリックを表形式で示したものです。たとえば、ターゲット列にYesとNoという異なる2つの値を入力できる場合、このデータセットでは、F1、適合率、再現率、サポート(この値を含むトレーニング・データセットの行数)などの精度メトリックがターゲット列の個別値ごとに表示されます。

分類データセットは、次に示すモデルとアルゴリズムの組合せを選択した場合に出力されます。

モデル アルゴリズム
二項分類

Naive Bayes

ニューラル・ネットワーク

サポート・ベクター・マシン

多項分類

Naive Bayes

ニューラル・ネットワーク

サポート・ベクター・マシン

混同マトリックス

このデータセットは誤差行列とも呼ばれ、ピボット表レイアウトです。各行は予測クラスのインスタンスを表し、各列は実際のクラスのインスタンスを表します。この表は、精度、リコールおよびF1の精度メトリックの計算に使用される偽陽性、偽陰性、真陽性および真陰性の数をレポートします。

混同行列データセットは、次に示すモデルとアルゴリズムの組合せを選択した場合に出力されます。

モデル アルゴリズム
二項分類

ロジスティック回帰

CART (ディシジョン・ツリー)

Naive Bayes

ニューラル・ネットワーク

ランダム・フォレスト

サポート・ベクター・マシン

多項分類

CART (ディシジョン・ツリー)

Naive Bayes

ニューラル・ネットワーク

ランダム・フォレスト

サポート・ベクター・マシン

ドライバ

このデータセットは、ターゲット列の値を決定する列についての情報を提供します。線形回帰を使用して、これらの列を識別します。各列には係数値と相関値が割り当てられます。係数値は、ターゲット列の値の決定に使用される列の加重期間を説明します。相関値は、ターゲット列と依存列の関係の方向を示します。たとえば、依存列に基づいて、ターゲット列の値が増えるか減るかということです。

ドライバ・データセットは、次に示すモデルとアルゴリズムの組合せを選択した場合に出力されます。

モデル アルゴリズム
数値

線形回帰

Elastic Net線形回帰

二項分類

ロジスティック回帰

サポート・ベクター・マシン

多項分類 サポート・ベクター・マシン

Hitmap

このデータセットには、ディシジョン・ツリーのリーフ・ノードに関する情報が含まれています。表の各行はリーフ・ノードを表しており、セグメント・サイズや信頼度、予想される行数など、そのリーフ・ノードが表している内容を説明する情報が格納されています。たとえば、予想される正確な予測の数 = セグメント・サイズ * 信頼度です。

Hitmapデータセットは、次に示すモデルとアルゴリズムの組合せを選択した場合に出力されます。

モデル アルゴリズム
数値 数値予測のCART

残差

このデータセットは、残差予測の品質に関する情報を提供します。残差とは、回帰モデルの測定値と予測値の差異です。このデータセットには、データセットの列すべての実際値と予測値の絶対差を集計した合計値が含まれています。

残差データセットは、次に示すモデルとアルゴリズムの組合せを選択した場合に出力されます。

モデル アルゴリズム
数値

線形回帰

Elastic Net線形回帰

数値予測のCART

二項分類 CART (ディシジョン・ツリー)
多項分類 CART (ディシジョン・ツリー)

統計

このデータセットのメトリックは、生成に使用されたアルゴリズムによって異なります。このメトリックのリストは、次のアルゴリズムに基づいていることに注意してください。

  • 線形回帰、数値予測のCART、エラスティック・ネット線形回帰 - これらのアルゴリズムには、R2乗、調整済R2乗、平均絶対誤差(MAE)、平均平方根誤差(MSE)、相対絶対誤差(RAE)、関連平方根誤差(RSE)、2乗平均平方根誤差(RMSE)が含まれます。
  • CART (分類および回帰ツリー)、Naive Bayes分類、ニューラル・ネットワーク、Support Vector Machine (SVM)、ランダム・フォレスト、ロジスティックス回帰 - これらのアルゴリズムには、精度、合計F1が含まれます。

このデータセットは、次に示すモデルとアルゴリズムの組合せを選択した場合に出力されます。

モデル アルゴリズム
数値

線形回帰

Elastic Net線形回帰

数値予測のCART

二項分類

ロジスティック回帰

CART (ディシジョン・ツリー)

Naive Bayes

ニューラル・ネットワーク

ランダム・フォレスト

サポート・ベクター・マシン

多項分類

Naive Bayes

ニューラル・ネットワーク

ランダム・フォレスト

サポート・ベクター・マシン

サマリー

このデータセットには、ターゲット名やモデル名などの情報が含まれています。

サマリー・データセットは、次に示すモデルとアルゴリズムの組合せを選択した場合に出力されます。

モデル アルゴリズム
二項分類

Naive Bayes

ニューラル・ネットワーク

サポート・ベクター・マシン

多項分類

Naive Bayes

ニューラル・ネットワーク

サポート・ベクター・マシン

予測モデルの関連データセットの検出

関連データセットは、予測モデルをトレーニングすると生成されます。

アルゴリズムに応じて、これらのデータセットには、予測ルールや精度メトリック、混同行列、予測のキー・ドライバなど、モデルの詳細が含まれます。これらのパラメータは、予測および分類を決定するためにモデルで使用されたルールを理解するのに役立ちます。
  1. ホーム・ページで、「ナビゲータ」をクリックしてから、「機械学習」をクリックします。
  2. トレーニング・モデルのメニュー・アイコンをクリックして「検査」を選択します。
  3. 「関連」タブをクリックしてモデルの関連データセットにアクセスします。
  4. 関連データセットをダブルクリックして、表示したり、ワークブックで使用します。

ワークブックへの予測モデルの追加

ワークブックでシナリオを作成する際には、ワークブックのデータセットに予測モデルを適用し、モデルが見つけ出すように設計された傾向およびパターンを明らかにします。

ノート:

Oracle機械学習モデルをワークブックのデータに適用することはできません。
モデルをワークブックに追加し、モデルの入力をデータセットの列にマップすると、キャンバスにドラッグ・アンド・ドロップできるモデルのオブジェクトが「データ・パネル」に表示されます。機械学習では、ビジュアライゼーションの対応するデータ列に基づいてモデルの値が生成されます。
  1. ホーム・ページで「作成」「ワークブック」の順にクリックします。
  2. ワークブックの作成に使用するデータセットを選択し、「ワークブックに追加に追加」をクリックします。
  3. 「データ」ペインで、「追加」をクリックし、「シナリオの作成」を選択します。
  4. 「シナリオの作成 - モデルの選択」ダイアログで、モデルを選択して「OK」をクリックします。
    適用できるのは予測モデルのみです。Oracle機械学習モデルは適用できません。
    各モデル入力をデータ要素と照合できない場合は、「モデルへのデータのマップ」ダイアログが表示されます。
  5. 「モデルへのデータのマップ」ダイアログが表示されたら、「データセット」フィールドで、モデルで使用するデータセットを選択します。
  6. 必要に応じてモデル入力とデータ要素を照合します。「完了」をクリックします。
    「データ要素」ペインに、シナリオがデータセットとして表示されます。
  7. 要素をデータセットおよびモデルから「ビジュアル化」キャンバスにドラッグ・アンド・ドロップします。
  8. シナリオを調整するには、「データ要素」ペインでシナリオを右クリックして、「シナリオの編集」を選択します。
  9. 必要に応じて、データセットを変更し、モデルの入力内容とデータ要素のマッピングを更新します。
  10. 「保存」をクリックしてワークブックを保存します。