このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
このトピックでは,特徴選択アルゴリズムの基本と,统计和机器学习工具箱™で利用できる特徴選択関数について説明します。
"特徴選択"では,測定した特徴(予測子変数)のサブセットのみを選択してモデルを作成することによりデータの次元を削減します。特徴選択アルゴリズムは、必要な、もしくは除外すべき特徴量、サブセットのサイズなどの制約のもとで、測定された応答を最適にモデル化する予測子のサブセットを探索します。特徴選択の主なメリットは、予測性能を改善し、より高速で費用対効果の高い予測子を提供し、データ生成プロセス[1]の理解を深められることです。使用する特徴量の数が多すぎると,すべての特徴量が関連性を持ち応答変数に関する情報を含んでいたとしても,予測性能が低下する場合があります。
特徴選択アルゴリズムは次の3つの種類に分けることができます。
フィルタータイプ特徴選択——フィルタータイプ特徴選択アルゴリズムは,特徴量の分散や特徴量の応答に対する関連度といった特徴量の特性によって特徴量の重要度を測定します。データの前処理ステップの一部として重要な特徴量を選択し,選択した特徴量を使用してモデルを学習させます。そのため,フィルタータイプ特徴選択は学習アルゴリズムとは無相関です。
ラッパータイプ特徴選択——ラッパータイプ特徴選択アルゴリズムは,特徴量のサブセットを使用して学習を開始し,その後に選択基準を使用して特徴量を追加または削除します。選択基準は,特徴量を追加または削除することによるモデル性能の変化を直接測定します。アルゴリズムは,停止条件が達成されるまで学習とモデルの改善を繰り返します。
組み込み型特徴選択——組み込み型特徴選択アルゴリズムは,モデルの学習プロセスの一部として特徴量の重要度を学習します。一度モデルを学習させると,学習済みモデルの中に特徴量の重要度が得られます。この種のアルゴリズムでは,特定の学習プロセスに対してうまく機能する特徴量が選択されます。
さらに,アルゴリズムが特徴量を逐次にランク付けするかどうかによって,特徴選択アルゴリズムを分類できます。最小冗余最大相关性(MRMR)アルゴリズムとステップワイズ回帰は、逐次特徴選択アルゴリズムの 2 つの例です。詳細については、逐次特徴選択を参照してください。
回帰問題の場合,部分従属プロット(PDP)および個別条件付き期待値(ICE)プロットを作成することにより,予測子変数の重要度を視覚的に比較できます。詳細については,plotPartialDependence
を参照してください。
分類問題の場合,特徴量を選択した後,2つのモデル(たとえば,完全なモデルと,予測子のサブセットを使用して学習したモデル)を学習させ,関数compareHoldout
、testcholdout
,またはtestckfold
を使用して精度を比較することができます。
元々の特徴量とその単位が重要であり,モデリングの目標が影響力のあるサブセットの特定である場合,特徴選択は特徴変換よりも適切です。カテゴリカル特徴量が存在し,数値への変換が不適切な場合,特徴選択は次元削減の主要な方法になります。
统计和机器学习工具箱には,特徴選択のために複数の関数が用意されています。対象の問題と特徴量のデータ型に基づき,適切な特徴選択関数を選択してください。
関数 | サポートされる問題 | サポートされるデータ型 | 説明 |
---|---|---|---|
fscchi2 |
分類 | 分类特徴量および連続的特徴量 | 個々のカイ二乗検定を使用して各予測子変数が応答変数から独立しているかどうかを調べた後,カイ二乗検定統計量のp値を使用して特徴量をランク付けします。 例については,関数 |
fscmrmr |
分類 | 分类特徴量および連続的特徴量 | 最小冗余最大相关性(MRMR)アルゴリズムを使用して逐次的に特徴量をランク付けします。 例については,関数 |
fscnca * |
分類 | 連続的特徴量 | 近傍成分分析(NCA)を対角的に適用することにより,特徴量の重みを特定します。これは,観測値間のペアワイズ距離を使用して応答を予測する距離ベースの教師ありモデルにおいて特徴量の重要度を推定するのに最適なアルゴリズムです。 詳細については,関数 |
fsrftest |
回帰 | 分类特徴量および連続的特徴量 | F検定を使用して各予測子の重要度を個別に調べた後,F検定統計量のp値を使用して特徴量をランク付けします。各F検定は,予測子変数値でグループ化された応答値が,平均が同じである複数の母集団から抽出されたという仮説を,母集団の平均はすべて同じではないという対立仮説に対して検定します。 例については,関数 |
fsrnca * |
回帰 | 連続的特徴量 | 近傍成分分析(NCA)を対角的に適用することにより,特徴量の重みを特定します。これは,観測値間のペアワイズ距離を使用して応答を予測する距離ベースの教師ありモデルにおいて特徴量の重要度を推定するのに最適なアルゴリズムです。 詳細については,関数 |
fsulaplacian |
教師なし学習 | 連続的特徴量 | ラプラシアンスコアを使用して特徴量をランク付けします。 例については,関数 |
relieff |
分類および回帰 | すべて直言またはすべて連続的な特徴量 | 分類にはReliefFアルゴリズム,回帰にはRReliefFアルゴリズムを使用して特徴量をランク付けします。これは,観測値間のペアワイズ距離を使用して応答を予測する距離ベースの教師ありモデルにおいて特徴量の重要度を推定するのに最適なアルゴリズムです。 例については,関数 |
sequentialfs |
分類および回帰 | すべて直言またはすべて連続的な特徴量 | カスタム基準を使用して逐次的に特徴量を選択します。データの特性を測定して特徴量を選択する関数を定義して,関数ハンドルを関数 |
*fscnca
とfsrnca
は,組み込み型特徴選択関数とみなすこともできます。これらは,学習済みモデルオブジェクトを返し,オブジェクト関数预测
および损失
を使用できるためです。しかし,通常,これらのオブジェクト関数はアルゴリズムの正則化パラメーターを調整するために使用されます。関数fscnca
またはfsrnca
でデータ前処理ステップの一部として特徴量を選択した後,問題に別の分類または回帰アルゴリズムを適用することができます。
関数 | サポートされる問題 | サポートされるデータ型 | 説明 |
---|---|---|---|
sequentialfs |
分類および回帰 | すべて直言またはすべて連続的な特徴量 | カスタム基準を使用して逐次的に特徴量を選択します。教師あり学習アルゴリズムを実装する関数または学習アルゴリズムの性能を測定する関数を定義し,関数ハンドルを関数 例については,関数 |
関数 | サポートされる問題 | サポートされるデータ型 | 説明 |
---|---|---|---|
ClassificationDiscriminant モデルオブジェクトのDeltaPredictor プロパティ |
線形判別分析による分類 | 連続的特徴量 |
例については,以下のトピックを参照してください。 |
fitcecoc とtemplateLinear |
高次元データのマルチクラス学習の線形分類 | 連続的特徴量 |
たとえば,交差検証の使用による適切な套索ペナルティの特定を参照してください。この例は, |
fitclinear |
高次元データのバイナリ学習の線形分類 | 連続的特徴量 |
たとえば,交差検証AUCの使用による適切な套索ペナルティの特定を参照してください。この例は,AUC の値を使用して異なる強度値でモデルを評価することにより、適した LASSO ペナルティの強度を決定します。 |
fitrgp |
回帰 | 分类特徴量および連続的特徴量 |
例については,以下のトピックを参照してください。 |
fitrlinear |
高次元データの線形回帰 | 連続的特徴量 |
例については,以下のトピックを参照してください。 |
套索 |
線形回帰 | 連続的特徴量 |
例については,関数 |
lassoglm |
一般化線形回帰 | 連続的特徴量 |
詳細については,関数 |
ClassificationBaggedEnsemble のoobPermutedPredictorImportance Arunachal Pradesh, |
バギングされた決定木(ランダムフォレストなど)のアンサンブルによる分類 | 分类特徴量および連続的特徴量 |
例については,関数のリファレンスページとトピック |
RegressionBaggedEnsemble のoobPermutedPredictorImportance Arunachal Pradesh, |
バギングされた決定木(ランダムフォレストなど)のアンサンブルによる回帰 | 分类特徴量および連続的特徴量 |
例については,関数 |
ClassificationEnsemble のpredictorImportance Arunachal Pradesh, |
決定木のアンサンブルによる分類 | 分类特徴量および連続的特徴量 |
例については,関数 |
ClassificationTree のpredictorImportance Arunachal Pradesh, |
決定木による分類 | 分类特徴量および連続的特徴量 |
例については,関数 |
RegressionEnsemble のpredictorImportance Arunachal Pradesh, |
決定木のアンサンブルによる回帰 | 分类特徴量および連続的特徴量 |
例については,関数 |
RegressionTree のpredictorImportance Arunachal Pradesh, |
決定木による回帰 | 分类特徴量および連続的特徴量 |
例については,関数 |
stepwiseglm *** |
一般化線形回帰 | 分类特徴量および連続的特徴量 |
詳細については,関数 |
stepwiselm *** |
線形回帰 | 分类特徴量および連続的特徴量 |
詳細については,関数 |
* *木ベースのアルゴリズムでは,交互作用検定を使用して最適な分割予測子を選択するために,“PredictorSelection”
を“interaction-curvature”
に指定します。交互作用検定は,多くの無関係な変数が存在する状況下で重要な変数を特定するのに役立ちます。また,多数の予測子が学習データに含まれている場合,学習について“NumVariablesToSample”
を“所有”
に指定します。このようにしないと,重要度が過小評価されて一部の予測子が選択されない可能性があります。詳細については,fitctree
、fitrtree
およびtemplateTree
を参照してください。
***stepwiseglm
およびstepwiselm
は別の学習関数のラッパーとして使用できないため,ラッパータイプの関数ではありません。ただし,これら2つの関数はラッパータイプのアルゴリズムを使用して重要な特徴量を見つけます。
盖恩,伊莎贝尔和A. Elisseeff。"变量和特征选择的介绍"机器学习研究杂志。2003年第3卷,1157-1182页。
rankfeatures
(生物信息学工具箱)