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

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

Oracle Analytics予測モデルとは

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

Oracle機械学習モデルは、データの予測にも使用できます。「Oracle AnalyticsでOracle機械学習モデルを使用する方法」を参照してください。

Oracle Analyticsには各種アルゴリズムが組み込まれており、様々な目的での予測モデルのトレーニングに役立ちます。アルゴリズムには、分類や回帰ツリー(CART)、ロジスティック回帰、K平均法などがあります。

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

トレーニングしたモデルを他のユーザーが使用できるようにすれば、それらのユーザーも自身のデータにそのモデルを適用して値を予測できます。場合によっては、特定のユーザーがモデルのトレーニングを行い、その他のユーザーがそのモデルを適用します。

ノート:

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

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

心臓病になるリスクが高い患者を予測するために、多項分類モデルを作成してトレーニングする必要があるとします。

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

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

Oracle Analyticsには、数値予測、多項分類子、二項分類子、クラスタリングなど、機械学習モデリングに必要なアルゴリズムが用意されています。

オラクル社の機械学習機能は、データで探すものがわかっていて、予測分析の実行に詳しく、アルゴリズム間の相違点を理解している上級データ・アナリスト向けです。

通常は、複数の予測モデルを作成してそれらを比較し、基準や条件を満たす結果を得られる可能性が最も高いモデルを選択します。これらの基準は変わる場合もあります。たとえば、全体の精度がより高いモデルを選択する場合もあれば、最も低いタイプI (偽陽性)やタイプII (偽陰性)のエラーがあるモデルを選択する場合や、理想的な結果でなくても、許容できるレベルの精度で、より速く結果を返すモデルを選択する場合もあります。

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

次の表を参考にして、用意されているアルゴリズムを確認してください。

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

分類

回帰

二項分類子

多項分類子

数値

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

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

エラスティック・ネット線形回帰 回帰 数値 ElasticNet 詳細回帰モデル。追加の情報(正則化)を提供し、変数の選択およびと線形結合を実行します。LassoおよびRidge回帰法のペナルティ。

共線性(複数の属性が完全に相関している)やオーバーフィットを避けるため、多数の属性とともに使用します。

階層 クラスタリング クラスタリング AgglomerativeClustering ボトムアップ(各観察はそれ自体のクラスタであり、順次マージされる)またはトップダウン(すべての観察が1つのクラスタとして開始される)と、距離メトリックを使用してクラスタの階層を作成します。

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

K平均法 クラスタリング クラスタリング k-means 最も近い平均のクラスタに各観察が属するkクラスタに、レコードを繰り返しパーティション化します。

メトリック列のクラスタ化に使用したり、予想される必要なクラスタ数を設定して使用します。大規模データ・セットに使用すると効果的です。結果は実行ごとに異なります。

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

リッジ

Lasso

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

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

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

二項分類子

多項分類子

GaussianNB 特徴の間に依存性がないことを前提としたBayesの定理に基づく確率的分類。

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

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

二項分類子

多項分類子

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

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

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

二項分類子

多項分類子

数値

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

数値変数やカテゴリ変数の予測に使用します。

SVM 分類

二項分類子

多項分類子

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

Oracle Analytics予測モデルを作成して使用するための一般的なワークフロー

次に、予測モデルを作成するための一般的なタスクと、そのモデルをデータ・セットに適用してプロジェクトで使用する方法を示します。

タスク 説明 詳細情報
サンプル・データを使用したモデルのトレーニング 付属のアルゴリズムのいずれかを使用してモデルをトレーニングし、サンプル・データのトレンドとパターンを予測します。 予測モデルの作成およびトレーニング
モデルの評価 関連データ・セットを使用して、モデルの有効性を評価し、問題がなくなるまでモデルを繰り返し調整します。 予測モデルの検査
データ・フローを使用したデータへのモデルの適用 トレーニング予測モデルをデータに適用して、予測されたトレンドとパターンを含むデータ・セットを生成します。 データ・セットへの予測モデルまたは登録済Oracle機械学習モデルの適用
プロジェクト・データへの予測モデルの適用 シナリオを使用してプロジェクトに予測モデルを追加します。 プロジェクトへの予測モデルの追加

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

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

正確なモデルに到達するにはプロセスを繰り返す必要があり、上級データ・アナリストは、様々なモデルを試してその結果を比較し、試行錯誤を基にしてパラメータを細かく調整できます。データ・アナリストは、ファイナライズされた正確な予測モデルを使用して、その他のデータ・セットの傾向を予測したり、モデルをプロジェクトに追加できます。

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

アルゴリズムは、Oracle Machine LearningをローカルのOracle Analytics Desktopディレクトリにインストールするまで使用できません。「デスクトップのMachine Learningのインストール方法」を参照してください

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

予測モデルの検査

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

予測モデルの詳細の表示

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

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

予測モデルの質の評価

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

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

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

データ・フローを実行して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

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

ランダム・フォレスト

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

ドライバ

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

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

モデル アルゴリズム
数値

線形回帰

エラスティック・ネット線形回帰

二項分類

ロジスティック回帰

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

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

Hitmap

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

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

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

残差

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

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

モデル アルゴリズム
数値

線形回帰

エラスティック・ネット線形回帰

数値予測のCART

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

統計

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

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

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

モデル アルゴリズム
数値

線形回帰

エラスティック・ネット線形回帰

数値予測のCART

二項分類

ロジスティック回帰

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

Naive Bayes

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

ランダム・フォレスト

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

多項分類

Naive Bayes

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

ランダム・フォレスト

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

サマリー

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

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

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

Naive Bayes

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

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

多項分類

Naive Bayes

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

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

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

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

関連データ・セットには、アルゴリズムに応じて、予測ルール、正確性メトリック、混同マトリックス、予測のキー・ドライバなどのモデルに関する詳細が含まれます。これらのパラメータは、予測や分類の判断にモデルで使用されたルールを把握するのに役立ちます。
  1. ホーム・ページで、「ナビゲータ」をクリックし、「機械学習」をクリックします。
  2. 「モデル」タブをクリックします。
  3. トレーニング・モデルのメニュー・アイコンをクリックして「検査」を選択します。
  4. 「関連」タブをクリックしてモデルの関連データ・セットにアクセスします。
  5. 関連データ・セットをダブルクリックして、表示したり、プロジェクトで使用します。

プロジェクトへの予測モデルの追加

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

ノート:

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