ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

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コンパクトな判別分析分類器
crossval判別分析分類器の交差検証
cvshrink線形判別の正則化の交差検証
resubEdge再代入による分類エッジ
resubLoss再置換による分類誤差
resubMargin再代入による分類マージン
resubPredict判別分析分類モデルの再代入ラベルを予測

継承メソッド

edge分類エッジ
logP判別分析分類器の対数条件なし確率密度
loss分類誤差
mahalクラスの平均に対するマハラノビス距離
margin分類マージン
nLinearCoeffs非ゼロの線形係数の数
predict判別分析分類モデルの使用によるラベルの予測

コピーのセマンティクス

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

すべて折りたたむ

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

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 で導入