Main Content

templateDiscriminant

判別分析分類器テンプレート

説明

t = templateDiscriminant() は、学習アンサンブルあるいは ECOC (誤り訂正出力符号) マルチクラス モデルの学習に適した判別分析学習器テンプレートを返します。

既定のテンプレートを指定する場合、学習中のすべての入力引数には既定値が使用されます。

tfitcensemble または fitcecoc の学習器として指定します。

t = templateDiscriminant(Name,Value) は、1 つ以上の名前と値のペアの引数で指定された追加オプションによりテンプレートを作成します。

たとえば、判別のタイプや正則化のパラメーターを指定できます。

コマンド ウィンドウに t を表示する場合、すべてのオプションは、名前と値のペア引数を使用して指定する場合を除き、空 ([]) で表示されます。学習中、空のオプションに既定値が使用されます。

すべて折りたたむ

fitcensembleで使用する、既定ではない判別分析テンプレートを作成します。

フィッシャーのアヤメのデータ セットを読み込みます。

load fisheriris

疑似線形判別分析のテンプレートを作成します。

t = templateDiscriminant('DiscrimType','pseudoLinear')
t = 
Fit template for classification Discriminant.

    DiscrimType: 'pseudoLinear'
          Gamma: []
          Delta: []
     FillCoeffs: []
     SaveMemory: []
        Version: 1
         Method: 'Discriminant'
           Type: 'classification'

DiscrimTypeMethod および Type を除き、テンプレート オブジェクトのすべてのプロパティは空です。学習の際、空のプロパティはそれぞれの既定値で入力されます。

t をアンサンブル分類の弱学習器として指定します。

Mdl = fitcensemble(meas,species,'Method','Subspace','Learners',t);

標本内 (再代入) 誤分類誤差を表示します。

L = resubLoss(Mdl)
L = 0.0400

入力引数

すべて折りたたむ

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: 'DiscrimType','pseudoLinear','SaveMemory','on' は、疑似線形判別分析のテンプレートを指定します。このテンプレートにはフルの共分散行列は格納されません。

線形係数のしきい値。'Delta' と非負のスカラー値で構成されるコンマ区切りのペアとして指定します。Mdl の係数の大きさが Delta よりも小さい場合、Mdl はこの係数を 0 に設定します。また、対応する予測子をモデルから削除できます。Delta を高い値に設定すると、削除できる予測子が多くなります。

2 次判別モデルでは Delta0 でなければなりません。

データ型: single | double

判別タイプ。'DiscrimType' と次の表の文字ベクトルまたは string スカラーから構成されるコンマ区切りのペアとして指定します。

説明予測子の共分散の処理
'linear'正則化された線形判別分析 (LDA)
  • すべてのクラスで同じ共分散行列になります。

  • Σ^γ=(1γ)Σ^+γdiag(Σ^).

    Σ^ は経験的なプールされた共分散行列、γ は正則化の量です。

'diaglinear'LDAすべてのクラスで同じ対角共分散行列になります。
'pseudolinear'LDAすべてのクラスで同じ共分散行列になります。共分散行列の逆行列には疑似逆行列が使用されます。
'quadratic'2 次判別分析 (QDA)共分散行列はクラスによって異なる可能性があります。
'diagquadratic'QDA共分散行列は対角行列になり、クラスによって異なる可能性があります。
'pseudoquadratic'QDA共分散行列はクラスによって異なる可能性があります。共分散行列の逆行列には疑似逆行列が使用されます。

メモ

正則化を使用するには、'linear' を指定しなければなりません。正則化の量を指定するには、名前と値のペアの引数 Gamma を使用します。

例: 'DiscrimType','quadratic'

Coeffs プロパティ フラグ。'FillCoeffs''on' または 'off' で構成されるコンマ区切りのペアとして指定します。このフラグを 'on' に設定すると Coeffs プロパティが分類器オブジェクトに埋め込まれます。これにより計算量が増加する可能性があります (特に交差検証時)。既定値は 'on' です。ただし、交差検証の名前と値のペアを指定した場合は、このフラグの既定値は 'off' になります。

例: 'FillCoeffs','off'

予測子の共分散行列を推定するときに適用する正則化の量。'Gamma' と区間 [0,1] にあるスカラー値から構成されるコンマ区切りのペアとして指定します。Gamma を使用すると、共分散行列の構造を DiscrimType より細かく調節できます。

  • 0 を指定した場合、正則化を使用する共分散行列の調整は行われません。つまり、制限がない経験的な共分散行列が推定および使用されます。

    • 線形判別分析では、経験的な共分散行列が特異である場合、共分散行列の逆行列を計算するために必要な最小の正則化が自動的に適用されます。選択された正則化の量は、コマンド ラインで Mdl.Gamma と入力することにより表示できます。

    • 2 次判別分析では、特異である経験的共分散行列が少なくとも 1 つのクラスにある場合、エラーがスローされます。

  • 区間 (0,1) にある値を指定した場合、線形判別分析を実装しなければなりません。そうしないとエラーがスローされます。この結果、DiscrimType'linear' に設定されます。

  • 1 を指定した場合、最大の正則化が共分散行列の推定に使用されます。つまり、共分散行列は対角行列に制限されます。または、対角共分散行列にするため、DiscrimType'diagLinear' または 'diagQuadratic' に設定できます。

例: 'Gamma',1

データ型: single | double

共分散行列を保存するためのフラグ。'SaveMemory''on' または 'off' のいずれかで構成されるコンマ区切りのペアとして指定します。'on' を指定した場合、fitcdiscr にはフルの共分散行列ではなく、行列を計算するために十分な情報が格納されます。predict メソッドは予測のためにフルの共分散行列を計算し、行列は格納しません。'off' を指定すると、fitcdiscr はフルの共分散行列を計算し、Mdl に格納します。

入力行列に数千個もの予測子がある場合は、SaveMemory'on' に設定します。

例: 'SaveMemory','on'

出力引数

すべて折りたたむ

学習アンサンブルまたは ECOC (誤り訂正出力符号) マルチクラス モデルに適した判別分析分類器テンプレート。テンプレート オブジェクトとして返します。tfitcensemble または fitcecoc に渡し、アンサンブルまたは ECOC モデルそれぞれに判別分析分類器の作成方法を指定します。

コマンド ウィンドウに t を表示する場合、すべての未指定のオプションは空 ([]) で表示されます。しかし、空のオプションは学習中に対応する既定値に置き換えられます。

バージョン履歴

R2014a で導入