FIREによる特徴量削減¶
機械学習の中心にあるのは、優れた予測を行うのに役立つ特徴量や変数をモデルに提供する「技術」です。 冗長または無関係な特徴量を含めると、モデルが過度に複雑になり、予測の精度が低下する可能性があります。 _特徴量の選択_によって、適切なバランスを取ることができます。このページでは、特徴量選択のための新たな方法を提案します。この方法は、複数の異なるモデルから得られる特徴量のインパクトスコア(業界では特徴量重要度スコアとも呼ばれる)を使用し、より堅牢で強力な結果をもたらします。 このアクセラレーターでは、予測のパフォーマンスを維持しながら、DataRobotが返す特徴量のインパクトスコアに基づいて特徴量の数を減らすために、特徴量有用性ランクアンサンブル(FIRE)を使用する方法について説明します。
特徴量を選択する際、データサイエンティストは「3つのR」を念頭に置いています。
- 関連性:一般化のリスクを減らすために、特徴量は、現在抱えているビジネス上の課題に関連している必要があります。
- 冗長性:冗長な特徴量の使用は避けます。冗長な特徴量は、モデルとその予測の解釈可能性を低下させます。
- 削減:特徴量の数が少ないほど複雑さが軽減され、モデルのトレーニングや推論に必要な時間が短縮されます。 特徴量の数を少なくすると、オーバーフィットのリスクが減り、モデルのパフォーマンスが向上する場合もあります。
以下のチャートは、モデルのパフォーマンスを向上させるために特徴量選択を使用する例を示しています。
特徴量の数が501から13に減ると、曲線下面積(AUC)が大きくなることで示されるように、モデルのパフォーマンスが向上します。 この視覚化は、特徴量選択曲線と呼ばれます。
特徴量選択のアプローチ¶
特徴量の選択には3つのアプローチがあります。
フィルターメソッドでは、統計的検定に基づいて特徴量を選択します。 DataRobotのユーザーは、多くの場合、特徴量のインパクトスコアを使ってデータセットの特徴量を1万個から1,000個にフィルターすることで、これを行います。 このスコアは交替条件付き期待値(ACE)アルゴリズムに基づいており、ターゲットと特徴量の相関関係を概念的に示します。 特徴量はランク付けされ、上位の特徴量が保持されます。 DataRobotにおける特徴量のインパクトスコアの制限事項の1つは、特徴量単体とターゲットの関係性のみを考慮していることです。
埋め込みメソッドは、独自の特徴量選択プロセスを組み込んだアルゴリズムです。 DataRobotは、ElasticNetや独自の機械学習アルゴリズムEureqaなどのアプローチで埋め込みメソッドを使用しています。
ラッパーメソッドはモデルに依存せず、通常は、最もインパクトが大きいものを特定するのに役立つ特徴量のサブセットでのモデリングが含まれます。 ラッパーメソッドは広く使われており、前方選択、後方消去、再帰的特徴量削減、そしてランダムヒルクライミングやシミュレーテッドアニーリングなどのより高度な確率的手法が含まれます。
ラッパーメソッドは、フィルターや埋め込みメソッドよりも最適な特徴量セットを提供することが多い反面、特に数百もの特徴量を持つデータセットでは時間がかかります。
ラッパーメソッドの再帰的特徴量削減は、機械学習において特徴量セットを縮小する目的で広く使われています。 特徴量削除の一般的な基準は、Permutationベースのインパクトによって計算された特徴量のインパクトスコアを使用することで、スコアが最も悪い特徴量を削除してから、新しいモデルを構築します。 再帰的特徴量選択アプローチを使用して、上のチャートの特徴量選択曲線を作成しました。
特徴量有用性ランクアンサンブル¶
再帰的特徴量削除アプローチに基づいて、DataRobotは_複数の_多様なモデルの特徴量のインパクトを組み合わせます。 モデルアンサンブルと呼ばれるこのアプローチは、以下で説明するように、複数のリーダーボードブループリントから特徴量のインパクトスコアを使用して特徴量のランクを集計することに基づいています。
精度や堅牢性を向上させるモデルアンサンブルを特徴量選択に適用できます。 複数のモデルから有用な特徴量セットを選択し、それらを組み合わせて、より堅牢な特徴量セットを生成することが、特徴量有用性ランクアンサンブル(FIRE)の基本です。 結果を集計する方法はたくさんありますが、以下の一般的な手順をお勧めします。 各手順の詳細については、アクセラレーターを参照してください。
- 選択した指標について、上位_N_個のリーダーボードモデルの特徴量のインパクトを計算します。 PermutationまたはSHAPベースの特徴量のインパクトを計算できます。
- 特徴量のインパクトを計算した各モデルについて、特徴量のランキングを取得します。
- すべてのモデルの特徴量のランクを集計して、各特徴量のメジアンランクを計算します。
- 集計されたセットを算出されたメジアンランクでソートします。
- 選択する特徴量数のしきい値を定義します。
- 新しく選択された特徴量に基づいて特徴量セットを作成します。
特徴量の集計の効果を理解するため、以下のグラフは、再入院データセットでトレーニングされた4つの異なるモデルにおける特徴量のインパクトの違いを示しています。 集計された特徴量のインパクトは、4つのモデルから導き出されています。
- LightGBM
- XGBoost
- ElasticNet Linear Model
- Kerasディープラーニングモデル
Normalized Impact
スコアの高さが示すように、上位の特徴量は多くのモデルで一貫して良い結果を残しています。 一方、下位の特徴量は一貫して有用性が低いです(多くのモデルで良い結果を残していません)。 num_lab_procedures
やdiag_x_desc
のような範囲の広い特徴量は、一部のモデルでは良好な結果が得られましたが、他のモデルではそうではありませんでした。
多重共線性とモデル固有の性質により、ばらつきが見られます。 つまり、線形モデルは線形の関係性の検出に適しており、ツリーベースモデルは非線形の関係性の検出に適しています。 特徴量のインパクトスコアのアンサンブルは、各モデルのデータセットビューで最も有用な特徴量を特定するのに役立ちます。 FIREを繰り返すことで、特徴量セットの縮小と特徴量選択曲線の作成を続行できます。 FIREは、特徴量のインパクトを確実に有効にするために、パフォーマンスの良いモデルを使用する場合に最適です。
結果¶
以下の例は、より広範なデータセットでの結果を示しています。主に非公開のデータセットを使って説明していますが、公開されているものも2つ(MadelonとKDD 1998)あります。このページの上部にリンクがあるAIアクセラレーターを使って、試してみてください。
-
AEは、374個の特徴量と25,000行を持つ非公開のデータセットです。
-
予測:連続値
-
DataRobotの推奨される指標: Gamma deviance
-
-
AFは、203個の特徴量と40万行を持つ非公開のデータセットです。
-
予測:連続値
-
DataRobotの推奨される指標: RMSE
-
-
Gは、478個の特徴量と2,500行を持つ非公開のデータセットです。
-
予測:二値分類
-
DataRobotの推奨される指標: LogLoss
-
-
IHは、283個の特徴量と20万行を持つ非公開のデータセットです。
-
予測:二値分類
-
DataRobotの推奨される指標: LogLoss
-
-
KDD 1998は、477個の特徴量と76,000行を持つ公開データセットです。
-
予測:連続値
-
DataRobotの推奨される指標: Tweedie deviance
-
-
Madelonは、501個の特徴量と2,000行を持つ公開データセットです。
-
予測:二値分類
-
DataRobotの推奨される指標: LogLoss
-
この例では、オートパイロットを使ってこれらの結果を返し、パフォーマンスが最も高いモデルのスコアを表示します。 指標は、問題のタイプとターゲットの分布に基づいて選択されました。 この例では、次に、オートパイロットを使って競合モデルを構築します。 最後に、FIREを使って新しい特徴量セットを作成します。 その結果、10分割交差検定を用いた標準偏差とともに、パフォーマンスが最も高いモデルにおける特徴量セットのパフォーマンスが示されます。
特徴量セットについては、有用な特徴量
がデフォルトのセットであり、「合理性」チェックに合格したすべての特徴量が含まれます。 DataRobotで削減した特徴量
は、Permutationベースのインパクトを使用して、1回限定で縮小される特徴量セットです。 FIREでは、適応しきい値(特徴量のインパクト全体の95%を占めるN個の特徴量)を用いたメジアンランク集計アプローチによる特徴量のインパクトを使用します。
以下の表は、6つの広範なデータセットでの特徴量選択の結果を示しています。 結果の行の太字の表記は、交差検定の平均スコアにおいて最も良い結果を示しています(値が小さいほどスコアが良いことを示します)。
以下のチャートは、特徴量の選択方法のパフォーマンスを比較したものです。
これらすべてのデータセットで、FIREは一貫して、すべての特徴量を使用した場合と同等以上の結果を出しました。 さらに、精度を落とすことなく、特徴量セットを縮小することで、DataRobotで削減した特徴量
をも上回りました。 Madelonデータセットの場合、ページ上部の図の特徴量選択曲線を見ると、特徴量の数を減らすことでパフォーマンスが向上したことがわかります。 FIREが解析する特徴量を501個から18個に減らすと、モデルのパフォーマンスが向上しました。
FIREを使用する場合は、モデルトレーニング中により多くのモデルを構築して、アンサンブル用に多様なモデルの特徴量のインパクトを用意する必要があります。 これらの他のモデルからの情報は、特徴量の選択に非常に役立ちます。
成果¶
特徴量の選択にFIREメソッドを使用すると、精度とコスト削減が向上します。 ただし、特徴量のインパクト(SHAP、Permutation)、モデルの選択、データまたはモデルの摂動、集計方法(メジアンランク、正規化されていないインパクト)など、検証が必要なものはまだたくさんあります。