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

margin

構文

M = margin(ens,tbl,ResponseVarName)
M = margin(ens,tbl,Y)
M = margin(ens,X,Y)
M = margin(___Name,Value)

説明

M = margin(ens,tbl,ResponseVarName) は、真の分類が tbl.ResponseVarName の場合に、データ tblens の予測に対する分類マージンを返します。

M = margin(ens,tbl,Y) は、真の分類が Y の場合に、データ tblens の予測に対する分類マージンを返します。

M = margin(ens,X,Y) は、真の分類が Y の場合に、データ Xens の予測に対する分類マージンを返します。

M = margin(___Name,Value) は、前の構文のいずれかを使用し、1 つ以上の Name,Value ペア引数で指定されたオプションを追加して、マージンを計算します。

入力引数

ens

関数 fitcensemble で作成されたアンサンブル分類、または、compact を使用して作成されたコンパクト アンサンブル分類。

tbl

標本データ。テーブルとして指定します。tbl の各行は 1 つの観測値に、各列は 1 つの予測子変数に対応します。tbl には、モデルを学習させるために使用したすべての予測子が含まれていなければなりません。文字ベクトルの cell 配列ではない cell 配列と複数列の変数は使用できません。

table に含まれている標本データを使用して ens を学習させた場合、このメソッドの入力データもテーブルでなければなりません。

ResponseVarName

応答変数の名前。tbl 内の変数の名前で指定します。

ResponseVarName には文字ベクトルまたは string スカラーを指定しなければなりません。たとえば、応答変数 Ytbl.Y として格納されている場合、'Y' として指定します。それ以外の場合、モデルを学習させるときに、tbl の列は Y を含めてすべて予測子として扱われます。

X

分類するデータの行列。X の各行は 1 つの観測値を表し、各列は、1 つの予測子を表します。X は、ens の学習に使用されるデータと同じ列数でなければなりません。X は、Y に含まれる要素数と同じ数の行がなければなりません。

行列に含まれている標本データを使用して ens を学習させた場合、このメソッドの入力データも行列でなければなりません。

Y

tbl または X における観測値のクラス ラベル。Y のデータ型は ens の学習に使用した分類と同じでなければならず、要素数は tbl または X の行数に等しくなければなりません。

名前と値のペアの引数

オプションの Name,Value 引数のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

'learners'

1 から ens.NumTrained までのアンサンブルに含まれる弱学習器のインデックス。oobEdge は、これらの学習器を損失計算にのみ使用します。

既定値: 1:NumTrained

'UseObsForLearner'

NT 列のサイズの logical 行列です。

  • NX の行の数です。

  • T は、ens に存在する弱学習器の数です。

UseObsForLearner(i,j)true のとき、学習器 jX の行 i のクラスの予測に使用されます。

既定値: true(N,T)

出力引数

M

tbl または X と同じ行数の数値列ベクトル。M の各行は、tbl または X の対応する行の分類マージンを与えます。

すべて展開する

fisheriris データの平均的な花を 'versicolor' に分類するマージンを求めます。

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

load fisheriris

AdaBoostM2 を使用して 100 本のブースティングされた分類木のアンサンブルに学習をさせます。

t = templateTree('MaxNumSplits',1); % Weak learner template tree object
ens = fitcensemble(meas,species,'Method','AdaBoostM2','Learners',t);

平均的な花を分類し、分類マージンを求めます。

flower = mean(meas);
predict(ens,flower)
ans = 1x1 cell array
    {'versicolor'}

margin(ens,flower,'versicolor')
ans = 3.2140

詳細

すべて展開する

拡張機能

参考

| |