A.1 OML4SQLの例について
OML4SQLの例は、データの準備、アルゴリズムの選択、アルゴリズムのチューニング、テストおよびスコアリングを行うための一般的な方法を示しています。
OML4SQLの例から、OML4SQLアプリケーション・プログラミング・インタフェースについて多くを学習できます。例は単純です。プログラムには、コードの理解に役立つインライン・コメントが多数含まれています。例の終了時にはすべての一時オブジェクトが削除されるので、セットアップやクリーン・アップなしで例を繰り返し実行できます。
OML4SQLの例は、GitHub (https://github.com/oracle/oracle-db-examples/tree/master/machine-learning/sql/)から入手できます。データベース・リリースを選択して、例を参照してください。
OML4SQLの例では、ユーザーのスキーマに機械学習モデルのセットが作成されます。次の表に、例のファイル名、mining_function値、および例で使用されるアルゴリズムを示します。
                  
表A-1 例によって作成されるモデル
| ファイル名 | MINING_FUNCTION | アルゴリズム | 
|---|---|---|
| oml4sql-association-rules.sql | ASSOCIATION | ALGO_APRIORI_ASSOCIATION_RULES | 
| oml4sql-feature-extraction-cur.sql | ATTRIBUTE_IMPORTANCE | ALGO_CUR_DECOMPOSITION | 
| oml4sql-classification-decision-tree.sql | CLASSIFICATION | ALGO_DECISION_TREE | 
| oml4sql-cross-validation-decision-tree.sql | CLASSIFICATION | ALGO_DECISION_TREE | 
| oml4sql-classification-glm.sql | CLASSIFICATION | ALGO_GENERALIZED_LINEAR_MODEL | 
| oml4sql-time-series-mset.sql | CLASSIFICATION | ALGO_MSET_SPRT | 
| oml4sql-classification-naive-bayes.sql | CLASSIFICATION | ALGO_NAIVE_BAYES | 
| oml4sql-classification-neural-networks.sql | CLASSIFICATION | ALGO_NEURAL_NETWORK | 
| oml4sql-classification-random-forest.sql | CLASSIFICATION | ALGO_RANDOM_FOREST | 
| oml4sql-anomaly-detection-1csvm.sql | CLASSIFICATION | ALGO_SUPPORT_VECTOR_MACHINES | 
| oml4sql-classification-svm.sql | CLASSIFICATION | ALGO_SUPPORT_VECTOR_MACHINES | 
| oml4sql-classification-text-analysis-svm.sql | CLASSIFICATION | ALGO_SUPPORT_VECTOR_MACHINES | 
| oml4sql-partitioned-models-svm.sql | CLASSIFICATION | ALGO_SUPPORT_VECTOR_MACHINES | 
| oml4sql-classification-regression-xgboost.sql | CLASSIFICATION | ALGO_XGBOOST | 
| oml4sql-clustering-expectation-maximization.sql | CLUSTERING | ALGO_EXPECTATION_MAXIMIZATION | 
| oml4sql-clustering-kmeans.sql | CLUSTERING | ALGO_KMEANS | 
| oml4sql-clustering-kmeans-star-schema.sql | CLUSTERING | ALGO_KMEANS | 
| oml4sql-clustering-o-cluster.sql | CLUSTERING | ALGO_O_CLUSTER | 
| oml4sql-feature-extraction-text-analysis-esa.sql | FEATURE_EXTRACTION | ALGO_EXPLICIT_SEMANTIC_ANALYS | 
| oml4sql-feature-extraction-nmf.sql | FEATURE_EXTRACTION | ALGO_NONNEGATIVE_MATRIX_FACTOR | 
| oml4sql-feature-extraction-text-analysis-nmf.sql | FEATURE_EXTRACTION | ALGO_NONNEGATIVE_MATRIX_FACTOR | 
| oml4sql-singular-value-decomposition.sql | FEATURE_EXTRACTION | ALGO_SINGULAR_VALUE_DECOMP | 
| oml4sql-regression-glm.sql | REGRESSION | ALGO_GENERALIZED_LINEAR_MODEL | 
| oml4sql-regression-neural-networks.sql | REGRESSION | ALGO_NEURAL_NETWORK | 
| oml4sql-regression-random-forest.sql | REGRESSION | ALGO_RANDOM_FOREST | 
| oml4sql-regression-svm.sql | REGRESSION | ALGO_SUPPORT_VECTOR_MACHINES | 
| oml4sql-classification-regression-xgboost.sql | REGRESSION | ALGO_XGBOOST | 
| oml4sql-time-series-exponential-smoothing.sql | TIME_SERIES | ALGO_EXPONENTIAL_SMOOTHING | 
もう1つの例のoml4sql-attribute-importance.sqlは、DBMS_PREDICTIVE_ANALYTICS.EXPLAINプロシージャを使用して、ターゲット属性に個別に影響を与える属性の重要度を検索します。
                  
別の例のセットは、ALGO_EXTENSIBLE_LANGアルゴリズムを使用して、R言語関数を登録し、Rモデルを作成する方法を示しています。次の表は、Rの拡張性の例をリストしています。例のファイル名、MINING_FUNCTION値、および使用されるR関数が示されています。 
                  
| ファイル名 | MINING_FUNCTION | R関数 | 
|---|---|---|
| oml4sql-rextensible-algorithm-registration.sql | CLASSIFICATION | glm | 
| oml4sql-rextensible-association-rules.sql | ASSOCIATION | apriori | 
| oml4sql-rextensible-attribute-importance-via-rf.sql | REGRESSION | randomForest | 
| oml4sql-rextensible-glm.sql | REGRESSION | glm | 
| oml4sql-rextensible-kmeans.sql | CLUSTERING | kmeans | 
| oml4sql-rextensible-principal-components.sql | FEATURE_EXTRACTION | prcomp | 
| oml4sql-rextensible-regression-tree.sql | REGRESSION | rpart | 
| oml4sql-regression-r-neural-networks.sql | REGRESSION | nnet |