Main Content

edge

構文

E = edge(ens,tbl,ResponseVarName)
E = edge(ens,tbl,Y)
E = edge(ens,X,Y)
E = edge(___,Name,Value)

説明

E = edge(ens,tbl,ResponseVarName) は、データ tbl と分類 tbl.ResponseVarName を指定することによって、ens の分類エッジを返します。

E = edge(ens,tbl,Y) は、データ tbl と分類 Y を指定することによって、ens の分類エッジを返します。

E = edge(ens,X,Y) は、データ X と分類 Y を指定することによって、ens の分類エッジを返します。

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

メモ

予測子データ X または tbl 内の予測子変数に欠損値がある場合、関数 edge で NaN が返されることがあります。詳細については、欠損値がある予測子データに対して edge で NaN が返されることがあるを参照してください。

入力引数

ens

fitcensemble を使用して構築されたアンサンブル分類、または compact を使用して構築されたコンパクトなアンサンブル分類。

tbl

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

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

ResponseVarName

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

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

X

各行が 1 つの観測値、各列が 1 つの予測子を表す行列。X の行数は、ens の予測子の数と等しくなければなりません。

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

Y

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

名前と値の引数

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

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

learners

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

既定値: 1:NumTrained

mode

出力 E の意味:

  • 'ensemble'E はアンサンブル全体のエッジを表すスカラー値です。

  • 'individual'E は、学習した学習器ごとに 1 つの要素をもつベクトルです。

  • 'cumulative'E は、学習器 1:J を使用して、学習器の入力リストから要素 J が取得されるベクトルです。

既定値: 'ensemble'

UseObsForLearner

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

  • NX の行の数です。

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

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

既定値: true(N,T)

UseParallel

推定を並列で実行するための指定。false (逐次計算) または true (並列計算) として指定します。並列計算には Parallel Computing Toolbox™ が必要です。特に大規模なデータセットでは、並列推定の方が逐次推定よりも高速になる可能性があります。並列計算は木学習器でのみサポートされます。

既定値: false

weights

観測値の重み、長さ size(X,1) の数値ベクトル。重みを指定すると、edge は重み付きの分類エッジを計算します。

既定値: ones(size(X,1),1)

出力引数

E

分類エッジ、mode の名前と値のペアによって、ベクトルまたはスカラーにいずれかになります。分類エッジは、重み付き平均分類マージンです。

すべて展開する

ブースティング アンサンブル分類器に学習をさせるために使用するデータの一部について、分類エッジを求めます。

ionosphere データセットを読み込みます。

load ionosphere

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

t = templateTree('MaxNumSplits',1); % Weak learner template tree object
ens = fitcensemble(X,Y,'Method','AdaBoostM1','Learners',t);

最後の数行について分類エッジを求めます。

E = edge(ens,X(end-10:end,:),Y(end-10:end))
E = 8.3310

詳細

すべて展開する

拡張機能

バージョン履歴

すべて展開する

参考

|