機械学習(ML)モデル
この項では、データ・フローで機械学習(ML)モデルを作成および使用する手順について説明します。
トピック:
データ・フロー・エディタでのMLモデル・データ・エンティティの作成
データ変換でMLモデルを使用するには、2つのデータ・フローを作成する必要があります。まず、データ・フロー・エディタを使用してMLモデル・データ・エンティティを構築する必要があり、その後、データ・フローでデータ・エンティティを使用して、ソース接続からデータをマイニングし、ターゲット・サーバーにロードできます。
データ・フロー・エディタでMLモデル・データ・エンティティを構築するには、
- MLモデルを構築するデータ・エンティティをデザイン・キャンバスにドラッグします。
- コンポーネントを選択し、ターゲット・コンポーネントの右上隅にある「データ・エンティティの追加」アイコン
をクリックします。
- 「データ・エンティティの追加」ページが表示され、ターゲット・コンポーネントの次の詳細を構成できます:
「一般」タブ
- 「名前」テキスト・ボックスに、新しく作成したデータ・エンティティの名前を入力します。
- 「エンティティ・タイプ」ドロップダウンから、データ・エンティティ・タイプとして「MLモデル」を選択します。
このエンティティ・タイプを選択すると、ユーザー・インタフェースは次のように変化します:
- 「接続」ドロップダウンには、作成したOracle接続のみがリストされます。
- 「データ・エンティティの追加」ウィザードに「プロパティ」タブが表示され、「学習のタイプ」、「関数」、「アルゴリズム」を選択し、MLモデルを定義するパラメータを構成できます。詳細は、「MLモデル・データ・エンティティのプロパティ」を参照してください。
- 「接続タイプ」ドロップダウンから、新しく作成したデータ・エンティティの追加元となる必要な接続を選択します。MLモデル・データ・エンティティの場合、「接続タイプ」ドロップダウンには、オプションとして「Oracle」のみがリストされます。
- 「接続」ドロップダウンには、関連する接続タイプを使用して作成した接続が移入されます。「接続」ドロップダウンから、MLモデル・データ・エンティティを保持するサーバー名を選択します。
- 「スキーマ」ドロップダウンに、選択した接続に対応するすべてのスキーマが2つのグループで表示されます。
- 「新規データベース・スキーマ」(以前にインポートしたことがないもの)と、
- 既存のデータベース・スキーマ(以前にインポートされて、データ・エンティティを置換する可能性があるもの)です。
- 「タグ」テキスト・ボックスに、希望するタグを入力します。タグを使用して、「データ・エンティティ」ページに表示されるデータ・エンティティをフィルタできます。
- このデータ・エンティティを機能グループとしてマークする場合は、「拡張オプション」を開き、「機能グループとして処理」チェック・ボックスをクリックします。
- 「次」をクリックします。
「プロパティ」タブ
- このデータ・エンティティの構築に使用する「学習のタイプ」、「関数」および「アルゴリズム」を選択します。オプションの詳細は、「MLモデル・データ・エンティティのプロパティ」を参照してください。
- 選択したオプションに基づいて、「パラメータ」セクションに「重要度」および「高」とマークされたパラメータのリストが移入されます。
アイコンを使用して、その他の必須パラメータを追加できます。
データ・フローを正常に実行できるように、各パラメータに値を指定する必要があります。
「列」タブ
- 新しく作成したデータ・エンティティに新しい列を追加するには、
「列の追加」アイコンをクリックします。
表示されている表に新しい列が追加されます。
- この表には次の列が表示されます:
- 名前
- データ型 - セルをクリックして、必要なデータ型を構成します。
- スケール
- 長さ
- アクション - 作成した列を削除するには、クロス・アイコンをクリックします。
- 列を一括で削除するには、列を選択して
「削除」アイコンをクリックします。
- 必要な列詳細を検索するには、「検索」テキスト・ボックスに必要な列名を入力し、[Enter]を押します。必要な列の詳細が表示されます。
- 「次」をクリックします。
「データ・エンティティのプレビュー」タブ
作成したすべての列とその構成済の詳細のプレビューが表示されます。データ・エンティティがOracleデータベースに属している場合、表の統計を表示することもできます。詳細は、「データ・エンティティの統計の表示」を参照してください。
- 「保存」をクリックして構成を保存し、ウィザードを終了します。
- データ・フローを保存して実行します。
新しいデータ・エンティティが作成され、「データ・エンティティ」ページに表示されます。
MLモデル・データ・エンティティのプロパティ
「データ・エンティティの追加」ウィザードの「プロパティ」タブには、MLモデル・データ・エンティティの定義に使用できるデータ・マイニング・オプションがあります。
このトピックでは、データ・マイニングの関数やアルゴリズムなどのOracle Machine Learningの概念に関する予備知識を前提としています。詳細は、『Oracle Machine Learning for SQL APIガイド』を参照してください。
学習のタイプ | 関数 | アルゴリズム |
---|---|---|
教師あり | 分類 | ディシジョン・ツリー |
明示的セマンティック分析 | ||
一般化線形モデル | ||
Naive Bayes | ||
ランダム・フォレスト | ||
ニューラル・ネットワーク | ||
サポート・ベクター・マシン | ||
回帰 | 一般化線形モデル | |
ニューラル・ネットワーク | ||
サポート・ベクター・マシン | ||
時系列 | 指数平滑法 | |
属性重要度 | 最小説明長 | |
教師なし | アソシエーション | Apriori |
属性重要度 | CUR行列分解 | |
異常検出 | 1クラス・サポート・ベクター・マシン | |
クラスタリング | 期待値最大化 | |
k-Means | ||
直交パーティショニング・クラスタリング | ||
特徴抽出 | 明示的セマンティック分析 | |
Non-Negative Matrix Factorization | ||
特異値分解 |
データ・フローでのMLモデルの使用
データ変換では、データ・フローでのMLモデルの使用がサポートされています。予測モデル・データベース関数を使用して、ソース・データに対してMLモデル・アルゴリズムを実行し、出力をターゲット・データベースにロードできます。
MLモデルをデータ・フローで使用する前に、MLモデルを構築する必要があります。MLモデルの作成方法の詳細は、「データ・フロー・エディタでのMLモデル・データ・エンティティの作成」を参照してください。
データ・フローでMLモデルを使用するには:
- 「データ・フローの作成」の手順に従って、新しいデータ・フローを作成します。
- データ・フロー・エディタで、データ・フローでソースとして使用する表をドラッグし、デザイン・キャンバスにドロップします。
- データベース関数ツールバーで、「機械学習」をクリックし、予測モデル変換コンポーネントをドラッグしてデザイン・キャンバスにドロップします。
- 予測モデル変換コンポーネントをクリックして、プロパティを表示します。
- 「一般」タブで、次を指定します:
- 接続 - ドロップダウンには、使用可能なすべてのOracle接続がリストされます。使用するOracle接続を選択します。
- スキーマ - スキーマを選択します。
- MLモデル - ドロップダウンには、使用可能なすべてのMLモデルがリストされます。MLモデルの構築方法の詳細は、「データ・フロー・エディタでのMLモデル・データ・エンティティの作成」を参照してください。
- 「列マッピング」タブで、埋め込むソース列を演算子のINPUT属性にマップします。列マッピングで使用可能な列は、
prediction parameters
のみです。使用可能な列から「式」列にテキスト列をドラッグします。 - データ・フローでターゲットとして使用する表をドラッグし、デザイン・キャンバスにドロップします。
- データ・フローを保存して実行します。
データ変換では、ソース・データに対して予測モデルが実行され、出力がターゲット表に書き込まれます。