OML機能抽出アルゴリズムを使用したリレーショナル表のベクトル化
この例では、OMLの特徴抽出アルゴリズムをVECTOR_EMBEDDING()
演算子とともに使用して、一連のリレーショナル・データのベクトル化、類似度索引の作成、および結果のベクトルに対する類似検索を実行する方法を示します。
特徴抽出アルゴリズムは、データの最も大きな差異を捕らえている主成分を識別することで、データから最も情報がある特徴/列を抽出するのに役立ち、大規模なデータ・セットの次元数を減らすことを目的としています。この削減により、最も重要な情報を保持しながらデータ・セットが簡素化され、データの相関および冗長性の分析が容易になります。
このチュートリアルでは、機械学習で広く使用されている次元数低減技術である主成分分析(PCA)アルゴリズムを使用しています。
ノート:
この例では、https://archive.ics.uci.edu/dataset/222/bank+marketingにある顧客銀行マーケティング・データを使用しています。
このリレーショナル・データ表には、数値列とカテゴリ列が混在しています。4000件以上のレコードがあります。
SELECT column_name, data_type
FROM user_tab_columns
WHERE table_name = 'BANK'
ORDER BY data_type, column_name;
出力:
COLUMN_NAME DATA_TYPE
-------------------- --------------------
AGE NUMBER
CAMPAIGN NUMBER
CONS_CONF_IDX NUMBER
CONS_PRICE_IDX NUMBER
DURATION NUMBER
EMP_VAR_RATE NUMBER
EURIBOR3M NUMBER
ID NUMBER
NR_EMPLOYED NUMBER
PDAYS NUMBER
PREVIOUS NUMBER
CONTACT VARCHAR2
CREDIT_DEFAULT VARCHAR2
DAY_OF_WEEK VARCHAR2
EDUCATION VARCHAR2
HOUSING VARCHAR2
JOB VARCHAR2
LOAN VARCHAR2
MARITAL VARCHAR2
MONTH VARCHAR2
POUTCOME VARCHAR2
Y VARCHAR2
類似検索を実行するには、リレーショナル・データをベクトル化する必要があります。そのためには、まずOML特徴抽出アルゴリズムを使用して、データをよりコンパクトな数値空間に投影します。この例では、SVDアルゴリズムを構成して、元のデータ表の主成分分析(PCA)投影を実行します。機能/列の数(この場合は5)は設定表で指定します。入力数によって、次元数低減処理後に保持される主な特徴または列の数が決まります。これらの各列は、データが最も変化する特徴空間の方向を表します。
DBMS_DATA_MINING
パッケージを使用してモデルを作成する必要があるため、ベクトル索引および類似検索に関連する他の権限に加えて、CREATE MINING MODEL
権限が必要です。CREATE MINING MODEL
権限の詳細は、『Oracle Machine Learning for SQLユーザーズ・ガイド』を参照してください。
親トピック: 埋込みの生成