モデルを作成する前の作業

モデルを作成する前に必要とされる準備ステップについて説明します。

モデルは、機械学習を実行するデータベース・スキーマ・オブジェクトです。DBMS_DATA_MINING PL/SQLパッケージは、機械学習のモデル(モデルの詳細)の作成、構成、評価および問合せに対応したAPIです。

モデルを作成する前に、そのモデルで実行する処理を決定する必要があります。トレーニング・データを特定し、変換が必要かどうかを判断する必要があります。モデルの設定を指定して、モデルの動作に影響を与えることができます。その準備のステップは、次の表にまとめられています。

表3-11 Oracle Machine Learning for SQLのモデルを作成するための準備

準備ステップ 説明

機械学習ファンクションの選択

「機械学習手法の選択」を参照してください

アルゴリズムの選択

「アルゴリズムの選択」を参照

作成(トレーニング)データの特定

データ準備を参照

分類モデルと回帰モデルの場合、テスト・データを特定する

データの分割を参照

データ変換の方針を決定し、設定表を作成して移入する(必要な場合)

「モデル設定の指定」を参照

機械学習手法の選択

CREATE_MODELおよびCREATE_MODEL2 プロシージャに使用可能なOracle Machine Learning for SQL機械学習機能について説明します。

OML4SQL機械学習手法は、モデル化して解決できる問題の種類を指定します。機械学習の指定には、CREATE_MODELおよびCREATE_MODEL2プロシージャのmining_function引数を使用します。

OML4SQL機械学習機能は、教師あり学習または教師なし学習のいずれかを実装しています。教師あり学習では、独立属性のセットを使用して従属属性の値またはターゲットを予測します。教師なし学習では従属属性と独立属性は区別されません。教師あり機能は予測的です。教師なし機能は記述的です。

ノート:

OML4SQLの用語では、機能(function)とは、特定の機械学習アプローチを使用して解決される問題の一般的な種類です。SQL言語の用語では、関数(function)は結果を戻す操作です。

OML4SQLのドキュメントでは、機能または機械学習機能という用語は、OML4SQL機械学習機能を意味します。SQL関数またはSQL機械学習関数という用語は、スコアリングのためのSQL関数を意味します(機械学習モデルの適用)。

CREATE_MODELおよびCREATE_MODEL2プロシージャのmining_functionパラメータには、次の表の任意の値を指定できます。

表3-12 Oracle Machine Learningのmining_function値

mining_functionの値 説明

ASSOCIATION

相関(Association)は、記述機械学習機能の一種です。相関モデルによって、データ・セット内に存在する関係とその発生確率が識別されます(相関ルール)。

相関モデルではAprioriアルゴリズムが使用される。

ATTRIBUTE_IMPORTANCE

属性評価(Attribute importance)は、予測機械学習機能の一種です。属性評価モデルは、特定の結果を予測する中で属性の相対的な重要度を識別する。

属性評価モデルでは、最小記述長アルゴリズムとCUR行列分解が使用されます。

CLASSIFICATION

分類(Classification)は、予測機械学習機能の一種です。分類モデルは、履歴データを使用して質的ターゲットを予測する。

分類モデルでは、Naive Bayes、ニューラル・ネットワーク、デシジョン・ツリー、ロジスティック回帰、ランダム・フォレスト、サポート・ベクター・マシン、明示的セマンティック分析またはXGBoostを使用できます。デフォルトはNaive Bayes。

1クラスSVMモデルおよび多変量状態推定手法 - 順次確率比率テスト・モデルの異常検出に分類機械学習機能を指定することもできます。

CLUSTERING

クラスタリング(Clustering)は、記述機械学習機能の一種です。クラスタリング・モデルは、データセットの中で自然なグループを識別する。

クラスタリング・モデルでは、k-Means、O-Clusterまたは期待値の最大化を使用できます。デフォルトはk-Means。

FEATURE_EXTRACTION

特徴抽出(Feature Extraction)は、記述機械学習機能の一種です。特徴抽出モデルは、最適化された属性のセットを作成する。

特徴抽出モデルでは、Non-Negative Matrix Factorization、特異値分解(主成分分析にも使用可能)または明示的セマンティック分析が使用される。デフォルトはNon-Negative Matrix Factorization。

REGRESSION

回帰(Regression)は、予測機械学習機能の一種です。回帰モデルは、履歴データを使用して量的ターゲットを予測する。

回帰モデルでは、サポート・ベクター・マシン、GLM回帰またはXGBoostが使用されます。デフォルトはサポート・ベクター・マシン。

TIME_SERIES

時系列(Time series)は、予測機械学習機能の一種です。時系列モデルは、ユーザー指定の時間ウィンドウに渡って時間順に並べられた過去の数値データに関する将来の値を予測します。時系列モデルでは、指数平滑法アルゴリズムを使用します。デフォルトは指数平滑法です。

アルゴリズムの選択

モデルのアルゴリズム設定の指定について学習します。

ALGO_NAME設定では、モデルのアルゴリズムを指定できます。機械学習手法にデフォルトのアルゴリズムを使用する場合や、機械学習手法に使用可能なアルゴリズムが1つのみの場合は、ALGO_NAME設定を指定する必要はありません。

表3-13 Oracle Machine Learningのアルゴリズム

ALGO_NAMEの値 アルゴリズム デフォルトかどうか 機械学習モデル機能

ALGO_AI_MDL

最小記述長

属性評価

ALGO_APRIORI_ASSOCIATION_RULES

Apriori

相関

ALGO_CUR_DECOMPOSITION

CURマトリックス分解

属性評価

ALGO_DECISION_TREE

デシジョン・ツリー

分類

ALGO_EXPECTATION_MAXIMIZATION

期待値最大化

クラスタリングおよび異常検出

ALGO_EXPLICIT_SEMANTIC_ANALYS

明示的セマンティック分析

特徴抽出と分類

ALGO_EXPONENTIAL_SMOOTHING

指数平滑法

時系列および時系列回帰

ALGO_EXTENSIBLE_LANG

拡張可能アルゴリズムで使用される言語

すべての機械学習機能がサポートされます

ALGO_GENERALIZED_LINEAR_MODEL

一般化線形モデル

分類および回帰

ALGO_KMEANS

k-Means

はい

クラスタリング

ALGO_MSET_SPRT

多変量状態推定法 - 逐次確率比検定

異常検出(ターゲットのない分類)

ALGO_NAIVE_BAYES

Naive Bayes

はい

分類

ALGO_NEURAL_NETWORK

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

分類

ALGO_NONNEGATIVE_MATRIX_FACTOR

Non-Negative Matrix Factorization

はい

特徴抽出

ALGO_O_CLUSTER

O-Cluster

クラスタリング

ALGO_RANDOM_FOREST

ランダム・フォレスト

分類

ALGO_SINGULAR_VALUE_DECOMP

特異値分解(主成分分析にも使用可能)

特徴抽出

ALGO_SUPPORT_VECTOR_MACHINES

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

はい

デフォルトの回帰アルゴリズム。回帰分類および異常検出(ターゲットのない分類)

ALGO_XGBOOST

XGBoost

分類および回帰