Main Content

edge

k 最近傍分類器のエッジ

説明

E = edge(mdl,Tbl,ResponseVarName) は、データ Tbl と分類 Tbl.ResponseVarName を指定することによって、mdl の分類エッジを返します。mdl を学習させるために使用した応答変数が Tbl に含まれている場合、ResponseVarName を指定する必要はありません。

分類エッジ (E) は、分類マージンの平均を表すスカラー値です。

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

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

E = edge(___,'Weights',weights) は、前の構文のいずれかの入力引数を使用し、観測値の重み weights を追加してエッジを計算します。

メモ

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

すべて折りたたむ

フィッシャーのアヤメのデータに対して k 最近傍分類器を作成します。ここで k = 5 です。

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

load fisheriris
X = meas;
Y = species;

5 つの最近傍について分類器を作成します。

mdl = fitcknn(X,Y,'NumNeighbors',5);

'setosa''versicolor' および 'virginica' にそれぞれ分類された最小、平均および最大の観測値について分類器のエッジを調べます。

NewX = [min(X);mean(X);max(X)];
Y = {'setosa';'versicolor';'virginica'};
E = edge(mdl,NewX,Y)
E = 1

NewX の各点に対する 5 つの最近傍はすべて、対応する Y のエントリと同じように分類します。

入力引数

すべて折りたたむ

k 最近傍分類モデル。ClassificationKNN オブジェクトを指定します。

モデルを学習させるために使用する標本データ。テーブルとして指定します。Tbl の各行は 1 つの観測値に、各列は 1 つの予測子変数に対応します。オプションとして、Tbl に応答変数用の列を 1 つ追加できます。文字ベクトルの cell 配列ではない cell 配列と複数列の変数は使用できません。

mdl を学習させるために使用した応答変数が Tbl に含まれている場合、ResponseVarName または Y を指定する必要はありません。

table に格納されている標本データを使用して mdl の学習を行う場合、edge の入力データも table に格納されていなければなりません。

データ型: table

応答変数の名前。Tbl 内の変数の名前で指定します。mdl を学習させるために使用した応答変数が Tbl に含まれている場合、ResponseVarName を指定する必要はありません。

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

応答変数は、categorical 配列、文字配列、string 配列、logical ベクトル、数値ベクトル、または文字ベクトルの cell 配列でなければなりません。応答変数が文字配列の場合、各要素は配列の 1 つの行に対応しなければなりません。

データ型: char | string

予測子データ。数値行列として指定します。X の各行は 1 つの観測値を、各列は 1 つの変数を表します。

データ型: single | double

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

データ型: categorical | char | string | logical | single | double | cell

観測値の重み。数値ベクトルまたは Tbl 内の変数の名前を指定します。

数値ベクトルで weights を指定する場合、weights のサイズは X または Tbl の行数と等しくなければなりません。

weights として Tbl 内の変数名を指定する場合、名前は文字ベクトルまたは string スカラーでなければなりません。たとえば、重みが Tbl.w として格納されている場合、weights として 'w' を指定します。それ以外の場合、Tbl の列は Tbl.w を含めてすべて予測子として扱われます。

weights を指定した場合、関数 edgeweights の対応する重みを使用して X または Tbl の各行の観測値に重みを付けます。

例: 'Weights','w'

データ型: single | double | char | string

詳細

すべて折りたたむ

マージン

各観測値の分類"マージン"は、真のクラスの分類"スコア"と偽のクラスの最大分類スコアの差を表します。

分類マージンは、X または Tbl と同じ行数の列ベクトルを形成します。

スコア

分類の "スコア" は分類の事後確率です。事後確率は、その分類をもつ近傍の個数を近傍の個数によって除算した値です。重み付けと事前確率を含む詳細な定義については、事後確率を参照してください。

拡張機能

バージョン履歴

R2012a で導入

すべて展開する