10 特徴選択

特徴選択および属性評価の実行方法について説明します。

Oracle Machine Learning for SQLは、教師ありおよび教師なしの機械学習機能として属性評価をサポートしています

10.1 最適な属性の検出

最適な属性を見つけるために、ノイズ、相関および高いディメンション性の影響を減らす前処理ステップを使用します。

情報量が多すぎると、OML4SQLの有効性が低下する可能性があります。教師ありモデルの作成やテストのために集められたデータ属性の列が、そのモデルにとって意味のある情報にならない場合もあります。実際にモデルの質や精度を落としてしまう場合もあります。

一例として、ある集団内で特定の病気が発生する可能性を予測する目的で、その集団に関するデータを大量に集めたとします。この情報の一部(おそらくその大部分)は、その病気に対する罹患率についてほとんどあるいはまったく影響を与えません。1世帯当たりの車の所有台数といった属性は、通常は何の影響も及ぼさない可能性があります。

無関係な属性は、データにノイズを加えることになりモデルの精度に影響します。ノイズがあると、モデルのサイズが大きくなり、モデルの作成およびスコアリングに必要な時間やシステム・リソースも増大します。

多くの属性を持つデータセットには、相関した属性のグループが含まれることがあります。これらの属性は、実際には基底に存在する同一の特徴を測定します。こうした属性が作成データに混在していると、アルゴリズムによって検出されるパターンが歪められ、モデルの精度に影響する可能性があります。

ワイド・データ(多数の属性)は、一般に機械学習アルゴリズムによる処理を増やします。モデル属性は、アルゴリズムで使用される処理空間のディメンションです。処理空間のディメンション性が高くなるほど、アルゴリズムの処理にかかる計算コストが高くなります。

ノイズ、相関、高いディメンション性の影響を最小限に抑えるには、なんらかの形式のディメンションの削減が前処理ステップとして望ましいことがあります。特徴選択では、最も予測性の高い属性を特定して、そこからモデル作成のアルゴリズムを提供するものを選択します。情報的なサンプルや典型的なサンプルには、特徴選択が最適です。変数の線形結合を表すよりも重要な変数を表す方が簡単なことがあります。教師なしの方法(低ランクの行列分解)では、データ行列の列または行の「重要度」を選抜して測定できます。

特徴選択の最適化は、ディシジョン・ツリー・アルゴリズム(アルゴリズム動作としてはNaive Bayes)で実行されます。一般化線形モデル(GLM)アルゴリズムは、特徴選択を実行するようにモデル設定によって構成できます。

10.2 特徴選択および属性評価とは

一部の機械学習プロジェクトでは、最も重要な予測子を見つけることが最終目的となります。たとえば、高い信用リスクを示す顧客の主要な特徴を見つけることを目的とするモデルなどです。

Oracle Machine Learning for SQLは、属性を重要度に応じてランク付けする属性評価機械学習機能をサポートしています。属性評価は、実際には特徴を選択するものではなく、結果の予測との関連性に応じて特徴をランク付けするものです。ユーザーは、ランク付けされた特徴を再検討して、目的とする特徴が含まれるデータセットを作成する責任を負います。

特徴選択は、予測モデリングの計算効率を向上させるための前処理手段として有効です。

10.2.1 属性評価およびスコアリング

属性評価の結果は、影響力に応じてランク付けされた作成データの属性です。

ランキングと重要度の測定基準は、分類モデルと回帰モデルに対応するトレーニング・データの選択に使用できます。また、教師なしアルゴリズム(CUR行列分解など)のデータの選択にも使用されます。Oracle Machine Learning for SQLでは、属性評価のスコアリング操作はサポートされていません。

10.3 属性評価のアルゴリズム

属性評価に使用するアルゴリズムについて説明します。

Oracle Machine Learning for SQLでは、属性評価については次のアルゴリズムがサポートされています。

  • 最小記述長

  • CUR行列分解