Main Content

このページ最新ではありませ。をクリックし,英语のの最新版版を参照参照し。

顺序F

カスタム基準を使用した逐次特徴選択

构文

inModel = sequentialfs(fun,x,y)
inModel = sequentialfs(fun,x,y,z,...)
[inmodel,history] = sequentialfs(fun,X,...)
[] = sequentialfs(...,,,param1,,,,val1,,,,param2,,,,val2,...))

说明

inModel = sequentialfs(fun,x,y)は,データ行列Xから特徴サブセット选択し。,予测改善が见られなくなるまで连続连続してて选択选択选択yのデータ最大限予测。。Xの行値にし,列変数特徴量に対応します。yXの各値応答の列ベクトルクラスラベルです。Xyの行数同じでなけれなりません。funは,と停止时期决定使用されるを定义するする关数へへの关数关数ハンドル出力一世nmodelは最終的に選択された特徴量を示す logical ベクトルです。

顺序F,空セットから开始して,まだ选択され特徴特徴特徴特徴特徴をををををををつずつつずつつずつつずつつずつつずつ的にに追加追加してて候补候补特徴のサブセットを顺序Ffunを繰り返し呼び出し 10 分割交差検証を実行します。この呼び出しでは、Xyの异なるサブセット(Xtrainytrain),およびXyの検定セット(XTESTytest)を次よう使用します。

标准= fun(XTRAIN,ytrain,XTEST,ytest)

XtrainytrainにはXyの行同じサブが含まれ,XTESTytestにはのサブセット含まれます。XtrainXTESTには现在候补特徴セットにするするXの列から受け取ったデータが含まれます。

funは呼び出さごとに,値値标准を必ず返します通常,funではXtrainytrainを使用モデル学习またはあてはめをそのモデルを使用ててXTESTの値をし,ytestからのの値何らかのの尺度,つまり"損失"を返し与えられ候补特徴セット交差计算计算はは,顺序Ffunからの戻り値を総和し、それをテスト観測総数で割ります。そしてこの平均値を使用して、候補特徴サブセットのそれぞれを評価します。

一般的定値には,回帰の二乘误差の(このこの,,顺序Fは平均计算计算计算,,分类のさた観测総数(このこの,,顺序Fは誤分類率を計算) が含まれます。

メモ

顺序Ffunがすべてセットについてたの総和,テスト観测総数で割り割ります。。,,,funはその値の観测総数でべきではありません。

候補特徴サブセットのそれぞれについて平均の标准値をした后,顺序Fは平均最小する候补特徴サブサブ选択し。このこのプロセスはは,,特徴特徴特徴量量追加追加しててもももそれそれそれ以上以上规准値

inModel = sequentialfs(fun,x,y,z,...)は那XyZ.,...など,のに制限ませ。。。顺序FXyZ.などに特別の解釈をせず、Xの列特徴を选択ますますのも行列行列の场合もも,すべてのデータ入力入力はは同じ同じ同じ行数顺序Fは那XyZ.,...の学习とテストを使用て次のにfunを呼び出します。

标准=娱乐(Xtrain,Ytrain,Ztrain,...,Xtest,Ytest,Ztest,...)

顺序Fは那XtrainyTRAINZ.TRAIN,...,XTESTytestztestなどをします,そのためにXyZ.などのサブセット选択ます。。。funはスカラー値标准を返さませんが,値计算はようなな方法でで行っ行ってもももかまいかまいかまいかまいませ一世nmodelの要素はXの列し最终的に选択た特徴量を示し。

[inmodel,history] = sequentialfs(fun,X,...)は,において选択れた特徴关するををますます。historyはスカラー構造体で、次のフィールドがあります。

  • Crit-各ステップにおいて計算される規準値を含むベクトル。

  • - ステップ一世で选択れた量を,行一世にもつ逻辑行列。

[] = sequentialfs(...,,,param1,,,,val1,,,,param2,,,,val2,...))は,表にオプションパラメーターのとのペアを指定します。

パラメーター
'简历'

特徴サブ各候补に対するを计算するにするする方法方法。

  • この値が正の整数K.の場合、顺序Fは層別化をしないK.分割交差を使用し。。

  • この値がCVPARTITIONクラスの场合,の形式の検证指定指定ますます。

  • この値が'resubstitution'の场合元は学习データ,データの区别なしにfunに渡され规准を计算。。

  • この値が'没有任何'の場合、顺序Fは検定とセットをせずに,标准=有趣(x,y,z,...)という形式でfunを呼び出します。

既定値は10.10分割ないないないし分割分割検证に。。。

いわゆる“ラッパー”では那学習アルゴリズムを実装する関数funを使用します。通常これらのメソッドは、交差検証を適用して特徴量を選択します。いわゆる"フィルター法"では,(相关など)ををし量を选択关数关数关数funを使用します。

'McReps'

交差検証用のモンテカルロ反復回数を示す正の整数。既定値は1です。'简历'値が'resubstitution'または'没有任何'の场合,値は1でなければなりん。

'direction'

连続探索方向。既定はは'向前'です。値'落后'はのを指定します。集合はすべて特徴量とと,,规准规准规准値値が増加増加なくなるまでまで连続连続的的にに特徴

'keepin'

逻辑ベクトルベクトルベクトルまたは番号番号のベクトル。。既定値はは。。。。

'keepout'

逻辑ベクトルベクトルベクトルまたは列列番号のベクトルベクトル。既定値既定値はは。。。

“ nfeatures'

顺序Fが停止とする量の数。一世nmodelにはの量が正确にます。既定値は空,顺序Fはの的小値がた时点停止し。値が空でないでない,,,'options''Maxiter''Tolfun'の値がオーバーライドされます。

'nullmodel'

ヌルモデル(Xからの特徴量を含まないモデル) を特徴の選択とhistory出力にかか示す论理値既定の设定は错误的です。

'options'

Statsetが作成した、反復連続探索アルゴリズムのオプション構造体。

顺序Fは,以下のStatsetのパラメーター使用します。

  • 展示- アルゴリズムでれる情报量既定のはは'离开'です。

  • MaxIter- 许容さ反复回数既定のはは在fです。

  • 托尔福- 目的关数终了许容。既定のは,,'direction''向前'の场合は1E-6'direction''落后'の场合は0.です。

  • toltypefun- 目的关数误差绝対または値いずれかをしし。既定既定设定はは'rel'です。

  • useParallel- 并列计算するはtrueに设定ます。既はは错误的です。

  • useubstreams- 再生成方法で计算するははtrueに设定ます。既はは错误的です。性ある计算行うには,Streamsをサブストリームを許可する型、'MLFG6331_64'または'MRG32K3A'に设定し。

  • Streams-Randstreamオブジェクトまたはそのようなオブジェクトで構成される cell 配列。Streamsを指定しと,顺序Fには既定のストリームが使用されます。

平行计算工具箱™がががががががが必要です。。。。

ノイズのある特徴量を分類するために逐次特徴選択を実行します。

负载fisheriris rng reproducibili(“违约”)%ty X = randn(150,10); X(:,[1 3 5 7])= meas; y = species; c = cvpartition(y,'k',10); opts = statset('Display','iter'); fun = @(XT,yT,Xt,yt)loss(fitcecoc(XT,yT),Xt,yt); [fs,history] = sequentialfs(fun,X,y,'cv',c,'options',opts) Start forward sequential feature selection: Initial columns included: none Columns that can not be included: none Step 1, added column 5, criterion value 0.00266667 Step 2, added column 7, criterion value 0.00222222 Step 3, added column 1, criterion value 0.00177778 Step 4, added column 3, criterion value 0.000888889 Final columns included: 1 3 5 7 fs = 1×10 logical array 1 0 1 0 1 0 1 0 0 0 history = struct with fields: In: [4×10 logical] Crit: [0.0027 0.0022 0.0018 8.8889e-04] history.In ans = 4×10 logical array 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0

拡張機能

バージョン履歴

R2008a で導入