12 行重要度

行重要度は、その他のマイニング機能とアルゴリズムを使用してモデルを作成する前の前処理ステップとして、データに適用可能な教師なしの機械学習手法です。

12.1 行重要度について

行重要度では、データセット内の行またはケースの影響を捉えます。

行重要度の手法は、大規模なデータセットのディメンション性低減に使用されます。行重要度により、データ・マトリックスのうち最も影響力のある行を特定します。重要度の高い行は、その行の重要度スコアによってランク付けされます。行の"重要度"は、統計的レバレッジ・スコアの高さによって決まります。CURマトリックス分解では、多くの場合、行重要度が列(属性)重要度と組み合されます。行重要度は、回帰、分類およびクラスタリングを使用したモデルの作成前のデータ前処理ステップとして役に立ちます。

12.2 重要な行の選択

重要度の高い行は、その行の重要度スコアによってランク付けされます。行の"重要度"は、統計的レバレッジ・スコアの高さによって決まります。

行重要度、つまりレバレッジ・スコアの高い行は、名前(case_id)、スコア(評価)、ランク(評価順)としてレポートされます。

12.3 行重要度のアルゴリズム

Oracle Machine Learning for SQLでは、行および列(属性)の重要度に対してCURマトリックス分解アルゴリズムをサポートしています。

ディメンション性低減のためのアルゴリズムとして、主成分分析(PCA)、特異値分解(SVD)およびCURマトリックス分解が広く使用されています。これらすべてのアルゴリズムは、低ランクのマトリックス分解を適用します。

CURマトリックス分解の場合、属性には、2次元の数値列、展開された2次元の質的列のレベル、属性の名前またはサブ名(またはネストした列の場合は値のペア)が含まれます。行重要度または行選択を導き出すために、アルゴリズムでは特異ベクトルを計算し、レバレッジ・スコアを算出した後に行を選択します。行重要度は、ユーザーが設定表のCURS_ROW_IMPORTANCEパラメータにCURS_ROW_IMP_ENABLEを指定していて、case_id列が存在するときに評価されます。ユーザーが明示的に指定していない場合、行重要度は評価されません。