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. 「データ・フローの実行」をクリックし、指定した入力データ・セットおよびモデル設定に基づいて予測モデルを作成します。