Main Content

ClassificationDiscriminant クラス

スーパークラス: CompactClassificationDiscriminant

判別分析による分類

説明

ClassificationDiscriminant オブジェクトは、データ生成の混合ガウス モデルである判別分析分類器をカプセル化します。ClassificationDiscriminant オブジェクトは、predict メソッドを使用して、新しいデータに対する応答を予測できます。オブジェクトには、学習に使用したデータが格納されているため、再代入予測を計算できます。

構築

ClassificationDiscriminant オブジェクトの作成には fitcdiscr を使用します。

プロパティ

BetweenSigma

pp 列の行列、クラス間の共分散で、p は予測子の数です。

CategoricalPredictors

常に空 ([]) であるカテゴリカル予測子のインデックス。

ClassNames

重複が削除された学習データ Y の要素のリスト。ClassNames には、categorical 配列、文字ベクトルの cell 配列、文字配列、logical ベクトル、数値ベクトルのいずれかを指定できます。ClassNames のデータ型は、引数 Y のデータ型と同じです。(string 配列は文字ベクトルの cell 配列として扱われます)。

Coeffs

係数行列の kk 列の構造体で、k はクラスの数です。Coeffs(i,j)i から j までのクラスの間の線形または 2 次の境界の係数を含みます。Coeffs(i,j) 内のフィールド:

  • DiscrimType

  • Class1ClassNames(i)

  • Class2ClassNames(j)

  • Const — スカラー

  • Linearp 成分をもつベクトル (pX の列の数)

  • Quadraticpp 列の行列で、2 次 DiscrimType 用に存在

クラス i とクラス j の境界線の等式は次のとおりです。

Const + Linear * x + x' * Quadratic * x = 0,

ここで x は、長さ p の列ベクトルです。

分類器を作成するときに、fitcdiscrFillCoeffs 名前と値のペアが 'off' に設定された場合、Coeffs は空 ([]) です。

Cost

正方行列。Cost(i,j) は真のクラスが i である場合に 1 つの点をクラス j に分類するためのコストです (行は真のクラス、列は予測したクラスに対応します)。Cost の行と列の順序は、ClassNames のクラスの順序に対応します。Cost の行および列の数は、応答に含まれている一意なクラスの数です。

ドット表記を使用して Cost 行列を変更します。obj.Cost = costMatrix

Delta

線形判別モデルのためのデルタしきい値であり、非負のスカラーです。obj の係数が Delta よりも大きさが小さい場合、obj はこの係数を 0 に設定し、それによって対応する予測子をモデルから削除できます。Delta を高い値に設定すると、削除できる予測子が多くなります。

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

ドット表記を使用して Delta を変更します。obj.Delta = newDelta

DeltaPredictor

obj の予測子の数と同じ長さの行ベクトル。DeltaPredictor(i) < Delta である場合、モデルの係数 i0 です。

obj が 2 次判別モデルである場合、DeltaPredictor のすべての要素は 0 です。

DiscrimType

判別タイプを指定する文字ベクトル。次のいずれかです。

  • 'linear'

  • 'quadratic'

  • 'diagLinear'

  • 'diagQuadratic'

  • 'pseudoLinear'

  • 'pseudoQuadratic'

ドット表記を使用して DiscrimType を変更します。obj.DiscrimType = newDiscrimType

線形タイプ間または 2 次タイプ間での変更は可能ですが、線形タイプと 2 次タイプの間の変更はできません。

Gamma

ガンマ正則化パラメーターの値であり、0 から 1 までのスカラーです。ドット表記を使用して Gamma を変更します。obj.Gamma = newGamma

  • 線形判別式のために 1 を設定する場合、判別式はそのタイプを 'diagLinear' に設定します。

  • 線形判別式のために MinGamma から 1 までの値を設定する場合、判別式はそのタイプを 'linear' に設定します。

  • MinGamma プロパティの値より小さい値を設定できません。

  • 2 次判別式の場合、0 (DiscrimType 'quadratic' の場合) または 1 (DiscrimType 'diagQuadratic' の場合) のいずれかに設定できます。

HyperparameterOptimizationResults

ハイパーパラメーターの交差検証最適化の説明。BayesianOptimization オブジェクト、またはハイパーパラメーターおよび関連する値が含まれているテーブルとして格納されます。作成時に名前と値のペア OptimizeHyperparameters が空ではない場合、これは空ではありません。値は、作成時の名前と値のペア HyperparameterOptimizationOptions の設定によって決まります。

  • 'bayesopt' (既定) — BayesianOptimization クラスのオブジェクト

  • 'gridsearch' または 'randomsearch' — 使用したハイパーパラメーター、観測された目的関数の値(交差検証損失)、および最低 (最良) から最高 (最悪) までの観測値の順位が格納されているテーブル

LogDetSigma

クラス間共分散行列の行列式の対数。LogDetSigma のタイプは判別タイプによって異なります。

  • 線形判別分析のスカラー

  • 2 次判別分析の長さ K のベクトルで、K はクラスの数

MinGamma

非負のスカラーであり、相関行列が可逆になるガンマ パラメーターの最小値です。相関行列が特異ではない場合、MinGamma0 になります。

ModelParameters

obj の学習に使用されるパラメーター。

Mu

クラス平均。サイズのスカラー値クラス平均の Kp 列の行列として指定されます。K はクラス数で、p は予測子の数です。Mu の各行は、対応するクラスの多変量正規分布の平均を表します。クラス インデックスは、ClassNames 属性にあります。

NumObservations

学習データの観測値の数を表す数値スカラー。入力データ X または応答 Y に欠損値がある場合、NumObservationsX の行数より少なくなる場合があります。

PredictorNames

予測子変数の名前の cell 配列。並びは学習データ X に現れる順です。

Prior

各クラスの事前確率の数値ベクトル。Prior の要素の順序は、ClassNames のクラスの順序に対応します。

ベクトル Prior を追加または変更するには、次のようにドット表記を使用します。obj.Prior = priorVector

ResponseName

応答変数 Y を表す文字ベクトル。

ScoreTransform

組み込みの変換関数を表す文字ベクトル、またはスコアを変換する関数のハンドル。'none' は変換なしを意味します。つまり、'none'@(x)x を意味します。組み込みの変換関数のリストとカスタム変換関数の構文は、fitcdiscr を参照してください。

ドット表記を実装し、次のいずれかの方法で関数 ScoreTransform を追加または変更します。

  • cobj.ScoreTransform = 'function'

  • cobj.ScoreTransform = @function

Sigma

1 つまたは複数のクラス内共分散行列。次元は DiscrimType に応じて異なります。

  • 'linear' (既定) — サイズ pp 列の行列で、p は予測子の数

  • 'quadratic' — サイズ p x p x K の配列で、K はクラスの数

  • 'diagLinear' — 長さの行ベクトル p

  • 'diagQuadratic' — サイズ 1 x p x K の配列

  • 'pseudoLinear' — サイズ pp 列の行列

  • 'pseudoQuadratic' — サイズ p x p x K の配列

W

スケールされた weights、長さ n のベクトル、X の行の数。

X

予測値の行列。X の各列が 1 つの予測値 (変数) を表し、各行が 1 つの観測値を表します。

Xcentered

クラス平均が減算された X データ。Y(i) の場合、クラスは j です。

Xcentered(i,:) = X(i,:)Mu(j,:)

ここで、Mu はクラスの平均プロパティです。

Y

X と同じ行数の categorical 配列、文字ベクトルの cell 配列、文字配列、logical ベクトルまたは数値ベクトル。Y の各行は、X の対応する行の分類を表します。

オブジェクト関数

compactコンパクトな判別分析分類器
compareHoldout新しいデータを使用して 2 つの分類モデルの精度を比較
crossval判別分析分類器の交差検証
cvshrink線形判別の正則化の交差検証
edge分類エッジ
limeLocal Interpretable Model-agnostic Explanations (LIME)
logp判別分析分類器の対数条件なし確率密度
loss分類誤差
mahal判別分析分類器のクラスの平均に対するマハラノビス距離
margin分類マージン
nLinearCoeffs非ゼロの線形係数の数
partialDependence部分依存の計算
plotPartialDependence部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成
predict判別分析分類モデルの使用によるラベルの予測
resubEdge再代入による分類エッジ
resubLoss再代入による分類誤差
resubMargin再代入による分類マージン
resubPredict判別分析分類モデルの再代入ラベルを予測
shapleyシャープレイ値
testckfold交差検証の反復により 2 つの分類モデルの精度を比較

コピーのセマンティクス

値。値のクラスがコピー操作に与える影響については、オブジェクトのコピーを参照してください。

すべて折りたたむ

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

load fisheriris

データセット全体を使用して、判別分析モデルに学習をさせます。

Mdl = fitcdiscr(meas,species)
Mdl = 
  ClassificationDiscriminant
             ResponseName: 'Y'
    CategoricalPredictors: []
               ClassNames: {'setosa'  'versicolor'  'virginica'}
           ScoreTransform: 'none'
          NumObservations: 150
              DiscrimType: 'linear'
                       Mu: [3x4 double]
                   Coeffs: [3x3 struct]


  Properties, Methods

MdlClassificationDiscriminant モデルです。プロパティにアクセスするには、ドット表記を使用します。たとえば、各予測子のグループ平均を表示します。

Mdl.Mu
ans = 3×4

    5.0060    3.4280    1.4620    0.2460
    5.9360    2.7700    4.2600    1.3260
    6.5880    2.9740    5.5520    2.0260

新しい観測値のラベルを予測するには、Mdl と予測子データを predict に渡します。

詳細

すべて展開する

参考文献

[1] Guo, Y., T. Hastie, and R. Tibshirani. "Regularized linear discriminant analysis and its application in microarrays." Biostatistics, Vol. 8, No. 1, pp. 86–100, 2007.

拡張機能

バージョン履歴

R2011b で導入