Main Content

回帰学習器アプリの使用による特徴選択と特徴変換

応答プロットにおける特徴量の調査

回帰学習器では、応答の予測に有用である予測子を識別するために応答プロットを使用します。異なる予測子および応答の間の関係を可視化するには、[X 軸][X] のリストで異なる変数を選択します。

回帰モデルに学習をさせる前は、学習データが応答プロットに表示されます。回帰モデルに学習をさせた場合、モデルの予測も応答プロットに表示されます。

どの変数が最も明確に応答と関連しているかを調べます。carbig データ セットをプロットすると、応答に対する明確な負の関連を予測子 Horsepower が示します。

応答との関連がないように思われる特徴量を探し、[特徴選択] を使用して、使用されている予測子のセットからこれらの特徴量を削除します。含める特徴量の選択を参照してください。

Response plot of car data, with miles per gallon on the vertical axis and horsepower on the horizontal axis

アプリで作成した応答プロットを Figure にエクスポートできます。回帰学習器アプリのプロットのエクスポートを参照してください。

含める特徴量の選択

回帰学習器では、モデルに含めるさまざまな特徴量 (予測子) を指定できます。予測力が低い特徴量を削除するとモデルが向上するか確認してください。データの収集が高価または困難な場合、予測子を減らしても十分に機能するモデルが好ましい可能性があります。

さまざまな特徴ランク付けアルゴリズムを使用して、含める重要な予測子を判別できます。アプリで特徴ランク付けアルゴリズムを選択すると、特徴の重要度スコアに応じて並べ替えられたプロットが表示されます。スコアが高いほど (Inf も含む)、特徴の重要度が高いことを示します。さらに、ランク付けされた特徴とそのスコアの表もアプリに表示されます。

回帰学習器で特徴ランク付けアルゴリズムを使用するには、[学習] タブの [オプション] セクションで [特徴選択] をクリックします。アプリで [既定の特徴選択] タブが開き、特徴ランク付けアルゴリズムを選択できます。

特徴ランク付けアルゴリズムサポートされるデータ型説明
MRMRcategorical 特徴量および連続的特徴量

Minimum Redundancy Maximum Relevance (MRMR) アルゴリズムを使用して逐次的に特徴量をランク付けします。

詳細については、fsrmrmr を参照してください。

F Testcategorical 特徴量および連続的特徴量

F 検定を使用して各予測子の重要度を個別に調べた後、F 検定統計量の p 値を使用して特徴量をランク付けします。各 F 検定は、予測子変数値でグループ化された応答値が、平均が同じである複数の母集団から抽出されたという仮説を、母集団の平均はすべて同じではないという対立仮説に対して検定します。スコアは –log(p) に対応します。

詳細については、fsrftest を参照してください。

RReliefFすべて categorical またはすべて連続的な特徴量

RReliefFアルゴリズムで 10 個の最近傍を使用して特徴量をランク付けします。これは、観測値間のペアワイズ距離を使用して応答を予測する距離ベースの教師ありモデルにおいて特徴量の重要度を推定するのに最適なアルゴリズムです。

詳細については、relieff を参照してください。

最も高ランクの特徴を選択するか特徴を個別に選択するかを選択します。

  • 検証メトリクスのバイアスを回避するには、[最も高ランクの特徴を選択] を選択します。たとえば、交差検証方式を使用する場合は、学習分割ごとに、モデルの学習前にアプリが特徴選択を行います。異なる分割では、最高ランクの特徴として異なる予測子を選択できます。

  • モデルの学習に特定の特徴量を含めるには、[特徴を個別に選択] を選択します。交差検証方式を使用する場合、アプリはすべての学習分割で同じ特徴を使用します。

特徴の選択が完了したら、[保存して適用] をクリックします。選択内容は [モデル] ペインのすべてのドラフト モデルに影響し、[学習] タブの [モデル] セクションのギャラリーを使用して作成する新しいドラフト モデルに適用されます。

単一のドラフト モデルの特徴を選択するには、モデルの概要を開いて編集します。[モデル] ペインでモデルをクリックし、(必要に応じて) モデルの [概要] タブをクリックします。[概要] タブには、編集可能な [特徴選択] セクションが含まれています。

モデルに学習させた後、モデルの [概要] タブの [特徴選択] セクションに、完全なモデル (つまり、学習データと検証データを使用して学習させたモデル) の学習に使用された特徴のリストが表示されます。回帰学習器が特徴選択をデータに適用する方法についてさらに学ぶには、学習済みの回帰モデルについてコードを生成します。詳細については、新しいデータでモデルに学習をさせる MATLAB コードの生成を参照してください。

特徴選択を使用する例については、回帰学習器アプリを使用して回帰木に学習をさせるを参照してください。

回帰学習器における PCA による特徴量の変換

主成分分析 (PCA) を使用すると、予測子空間の次元を減らすことができます。次元を減らすと、過適合の防止に役立つ回帰モデルを回帰学習器で作成できます。PCA は、予測子を線形的に変換することにより冗長な次元を削除し、主成分と呼ばれる新しい一連の変数を生成します。

  1. [学習] タブの [オプション] セクションで [PCA] を選択します。

  2. [既定の PCA オプション] ダイアログ ボックスで、[主成分分析を有効化] チェック ボックスを選択して [保存して適用] をクリックします。

    アプリにより、[モデル] ペインの既存のすべてのドラフト モデルに変更が適用され、[学習] タブの [モデル] セクションのギャラリーを使用して作成する新しいドラフト モデルにも適用されます。

  3. 次に [すべてを学習] ボタンを使用してモデルに学習させるとき、モデルに学習させる前に、選択した特徴量が関数 pca によって変換されます。

  4. 既定の設定では、PCA は分散の 95% を説明する成分のみを保持します。説明する分散の比率は、[既定の PCA オプション] ダイアログ ボックスの [説明分散] の値を選択して変更できます。値を大きくすると過適合のリスクが生じますが、値を小さくすると有用な次元が削除されるリスクが生じます。

  5. PCA の成分数を手動で制限するには、[成分の削除基準] リストで [成分数の指定] を選択します。[数値成分の数] の値を選択します。成分数を数値予測子の数より多くすることはできません。カテゴリカル予測子には PCA は適用されません。

学習済みモデルの PCA のオプションは、[概要] タブの [PCA] セクションで確認できます。[モデル] ペインで学習済みモデルをクリックし、(必要に応じて) モデルの [概要] タブをクリックします。以下に例を示します。

PCA is keeping enough components to explain 95% variance. 
After training, 2 components were kept. 
Explained variance per component (in order): 92.5%, 5.3%, 1.7%, 0.5%
説明分散の比率をチェックして、成分数を変更するかどうかを決定します。

回帰学習器が PCA をデータに適用する方法についてさらに学ぶには、学習済みの回帰モデルについてコードを生成します。PCA についての詳細は、関数 pca を参照してください。

関連するトピック