モデルを作成する前の作業
モデルを作成する前に必要とされる準備ステップについて説明します。
モデルは、機械学習を実行するデータベース・スキーマ・オブジェクトです。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)は、記述機械学習機能の一種です。相関モデルによって、データ・セット内に存在する関係とその発生確率が識別されます(相関ルール)。 相関モデルではAprioriアルゴリズムが使用される。 |
|
|
属性評価(Attribute importance)は、予測機械学習機能の一種です。属性評価モデルは、特定の結果を予測する中で属性の相対的な重要度を識別する。 属性評価モデルでは、最小記述長アルゴリズムとCUR行列分解が使用されます。 |
|
|
分類(Classification)は、予測機械学習機能の一種です。分類モデルは、履歴データを使用して質的ターゲットを予測する。 分類モデルでは、Naive Bayes、ニューラル・ネットワーク、デシジョン・ツリー、ロジスティック回帰、ランダム・フォレスト、サポート・ベクター・マシン、明示的セマンティック分析またはXGBoostを使用できます。デフォルトはNaive Bayes。 1クラスSVMモデルおよび多変量状態推定手法 - 順次確率比率テスト・モデルの異常検出に分類機械学習機能を指定することもできます。 |
|
|
クラスタリング(Clustering)は、記述機械学習機能の一種です。クラスタリング・モデルは、データセットの中で自然なグループを識別する。 クラスタリング・モデルでは、k-Means、O-Clusterまたは期待値の最大化を使用できます。デフォルトはk-Means。 |
|
|
特徴抽出(Feature Extraction)は、記述機械学習機能の一種です。特徴抽出モデルは、最適化された属性のセットを作成する。 特徴抽出モデルでは、Non-Negative Matrix Factorization、特異値分解(主成分分析にも使用可能)または明示的セマンティック分析が使用される。デフォルトはNon-Negative Matrix Factorization。 |
|
|
回帰(Regression)は、予測機械学習機能の一種です。回帰モデルは、履歴データを使用して量的ターゲットを予測する。 回帰モデルでは、サポート・ベクター・マシン、GLM回帰またはXGBoostが使用されます。デフォルトはサポート・ベクター・マシン。 |
|
|
時系列(Time series)は、予測機械学習機能の一種です。時系列モデルは、ユーザー指定の時間ウィンドウに渡って時間順に並べられた過去の数値データに関する将来の値を予測します。時系列モデルでは、指数平滑法アルゴリズムを使用します。デフォルトは指数平滑法です。 |
アルゴリズムの選択
モデルのアルゴリズム設定の指定について学習します。
ALGO_NAME設定では、モデルのアルゴリズムを指定できます。機械学習手法にデフォルトのアルゴリズムを使用する場合や、機械学習手法に使用可能なアルゴリズムが1つのみの場合は、ALGO_NAME設定を指定する必要はありません。
表3-13 Oracle Machine Learningのアルゴリズム
| ALGO_NAMEの値 | アルゴリズム | デフォルトかどうか | 機械学習モデル機能 |
|---|---|---|---|
|
|
最小記述長 |
— |
属性評価 |
|
|
Apriori |
— |
相関 |
|
|
CURマトリックス分解 |
— |
属性評価 |
|
|
デシジョン・ツリー |
— |
分類 |
|
|
期待値最大化 |
— |
クラスタリングおよび異常検出 |
|
|
明示的セマンティック分析 |
— |
特徴抽出と分類 |
|
|
指数平滑法 |
— |
時系列および時系列回帰 |
ALGO_EXTENSIBLE_LANG |
拡張可能アルゴリズムで使用される言語 |
— |
すべての機械学習機能がサポートされます |
|
|
— |
分類および回帰 |
|
|
|
k-Means |
はい |
クラスタリング |
|
|
多変量状態推定法 - 逐次確率比検定 |
— |
異常検出(ターゲットのない分類) |
|
|
Naive Bayes |
はい |
分類 |
|
|
ニューラル・ネットワーク |
— |
分類 |
|
|
Non-Negative Matrix Factorization |
はい |
特徴抽出 |
|
|
O-Cluster |
— |
クラスタリング |
|
|
ランダム・フォレスト |
— |
分類 |
|
|
特異値分解(主成分分析にも使用可能) |
— |
特徴抽出 |
|
|
サポート・ベクター・マシン |
はい |
デフォルトの回帰アルゴリズム。回帰、分類および異常検出(ターゲットのない分類) |
|
|
XGBoost |
— |
分類および回帰 |
関連トピック