機械学習(ML)モデルの使用

データ変換では、データ・フローでのMLモデルの使用がサポートされています。データ・フローで機械学習(ML)モデルを作成および使用する方法について学習します。

トピック

データ・フロー・エディタでのMLモデル・データ・エンティティの作成

データ変換でMLモデルを使用するには、2つのデータ・フローを作成する必要があります。まず、データ・フロー・エディタを使用してMLモデル・データ・エンティティを構築してから、データ・フローのデータ・エンティティを使用して、ソース接続からデータをマイニングし、ターゲット・サーバーにロードする必要があります。

データ・フロー・エディタでMLモデル・データ・エンティティを構築するには、

  1. MLモデルを構築するデータ・エンティティをデザイン・キャンバスにドラッグします。
  2. コンポーネントを選択し、ターゲット・コンポーネントの右上隅にあるデータ・エンティティの追加アイコン「データ・エンティティの追加」アイコンをクリックします。
  3. 「データ・エンティティの追加」ページが表示され、ターゲット・コンポーネントの次の詳細を構成できます:

    「一般」タブ

    • 「名前」テキスト・ボックスに、新規に作成したデータ・エンティティの名前を入力します。
    • 「エンティティ・タイプ」ドロップダウンから、データ・エンティティ・タイプとして「MLモデル」を選択します。
      このエンティティ・タイプを選択すると、ユーザー・インタフェースは次のように変更されます。
      • 「接続」ドロップダウンには、作成したOracle接続のみがリストされます。
      • データ・エンティティの追加ウィザードには、「プロパティ」タブが表示され、学習のタイプ、関数、アルゴリズムを選択し、MLモデルを定義するパラメータを構成できます。詳細は、「MLモデル・データ・エンティティのプロパティ」を参照してください。
    • 「接続タイプ」ドロップダウンから、新しく作成したデータ・エンティティの追加元となる必要な接続を選択します。MLモデル・データ・エンティティの場合、「接続タイプ」ドロップダウンには、オプションとしてOracleのみがリストされます。
    • 「接続」ドロップダウンには、関連付けられた接続タイプを使用して作成した接続が移入されます。「接続」ドロップダウンから、MLモデル・データ・エンティティを保持するサーバー名を選択します。
    • 「スキーマ」ドロップダウンで、選択した接続に対応するすべてのスキーマが2つのグループで表示されます。
      • 「新規データベース・スキーマ」(以前にインポートしたことがないもの)と、
      • 既存のデータベース・スキーマ(以前にインポートされて、データ・エンティティを置換する可能性があるもの)です。
      「スキーマ」ドロップダウンで、必要なスキーマを選択します。
    • 「タグ」テキスト・ボックスに、希望するタグを入力します。タグを使用して、「データ・エンティティ」ページに表示されるデータ・エンティティをフィルタできます。
    • このデータ・エンティティを機能グループとしてマークする場合は、「拡張オプション」を展開し、「機能グループとして処理」チェック・ボックスを選択します。
    • 「次へ」をクリックします。

    「プロパティ」タブ

    • このデータ・エンティティの作成に使用する「学習タイプ」「関数」および「アルゴリズム」を選択します。オプションの詳細は、「MLモデル・データ・エンティティのプロパティ」を参照してください。
    • 選択したオプションに基づいて、「パラメータ」セクションに「重要度」および「高」とマークされたパラメータのリストが移入されます。「パラメータの追加」アイコンアイコンを使用して、他の必須パラメータを追加できます。

      データ・フローを正常に実行できるように、各パラメータに値を指定する必要があります。

    「列」タブ

    • 新しく作成したデータ・エンティティに新しい列を追加するには、「列の追加」アイコン「列の追加」アイコンをクリックします。

      表示されている表に新しい列が追加されます。

    • この表には次の列が表示されます:
      • 名前
      • データ型 - セルをクリックして、必要なデータ型を構成します。
      • スケール
      • 長さ
      • アクション - 作成した列を削除するには、クロス・アイコンをクリックします。
    • 列を一括で削除するには、列を選択して「削除」アイコン「削除」アイコンをクリックします。
    • 必要な列詳細を検索するには、「検索」テキスト・ボックスに必要な列名を入力し、[Enter]を押します。必要な列の詳細が表示されます。
    • 「次へ」をクリックします。

    「データ・エンティティのプレビュー」タブ

    作成したすべての列とその構成済の詳細のプレビューが表示されます。データ・エンティティがOracleデータベースに属している場合、表の統計を表示することもできます。詳細は、「データ・エンティティの統計の表示」を参照してください。

  4. 「保存」をクリックして構成を保存し、ウィザードを終了します。
  5. データ・フローを保存して実行します。

    新しいデータ・エンティティが作成されます。「データ・エンティティ」ページに表示されます。

MLモデル・データ・エンティティのプロパティ

「データ・エンティティの追加」ウィザードの「プロパティ」タブには、MLモデル・データ・エンティティの定義に使用できるデータ・マイニング・オプションがあります。

このトピックでは、データ・マイニング機能やアルゴリズムなどのOracle Machine Learningの概念に関する事前の知識を前提としています。詳細は、Oracle Machine Learning for SQL APIガイドを参照してください。

次のいずれかのオプションを使用して、MLモデル・データ・エンティティのプロパティを構成できます。

  • 学習のタイプ: 監督
    • 関数: 分類
      • ディシジョン・ツリー
      • 明示的セマンティック分析
      • 一般化線形モデリング
      • Naive Bayes
      • ランダム・フォレスト
      • ニューラル・ネットワーク
      • Support Vector Machine
    • 関数: 回帰
      • 一般化線形モデリング
      • ニューラル・ネットワーク
      • Support Vector Machine
    • 関数: 時系列
      • 指数平滑法
    • 関数: 属性重要度
      • 最小説明長
  • 学習のタイプ: 教師なし
    • 機能: 関連
      • Apriori
    • 関数: 属性重要度
      • CUR行列分解
    • 関数: 異常検出
      • 1クラス・サポート・ベクター・マシン
    • 関数: クラスタリング
      • 期待値の最大化
      • k-Means
      • 直交パーティショニング・クラスタリング
    • 関数: 特徴の抽出
      • 明示的セマンティック分析
      • Non-Negative Matrix Factorization
      • 単一値分解

データ・フローでのMLモデルの使用

予測モデル・データベース関数を使用して、ソース・データに対してMLモデル・アルゴリズムを実行し、出力をターゲット・データベースにロードできます。

MLモデルをデータ・フローで使用する前に、MLモデルを構築する必要があります。MLモデルの作成方法は、データ・フロー・エディタでのMLモデル・データ・エンティティの作成を参照してください。

データ・フローでMLモデルを使用するには:

  1. 「データ・フローの作成」の指示に従って、新しいデータ・フローを作成します。
  2. データ・フロー・エディタで、データ・フローでソースとして使用する表をドラッグして、デザイン・キャンバスにドロップします。
  3. 「データベース関数」ツールバーで、「機械学習」をクリックし、「予測モデル」変換コンポーネントをデザイン・キャンバスにドラッグ・アンド・ドロップします。
  4. 「予測モデル」変換コンポーネントをクリックして、そのプロパティを表示します。
  5. 「一般」タブで、次を指定します:
  6. 「列マッピング」タブで、埋め込むソース列を演算子のINPUT属性にマップします。列マッピングで使用可能な列は、prediction parametersのみです。使用可能な列から「式」列にテキスト列をドラッグします。
  7. データ・フローでターゲットとして使用する表をドラッグし、デザイン・キャンバスにドロップします。
  8. データ・フローを保存して実行します。

    データ変換では、ソース・データに対して予測モデルが実行され、出力がターゲット表に書き込まれます。