このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
edge
k 最近傍分類器のエッジ
構文
説明
は、データ E
= edge(mdl
,Tbl
,ResponseVarName
)Tbl
と分類 Tbl.ResponseVarName
を指定することによって、mdl
の分類エッジを返します。mdl
を学習させるために使用した応答変数が Tbl
に含まれている場合、ResponseVarName
を指定する必要はありません。
分類エッジ (E
) は、分類マージンの平均を表すスカラー値です。
は、前の構文のいずれかの入力引数を使用し、観測値の重み 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
のエントリと同じように分類します。
入力引数
mdl
— k 最近傍分類モデル
ClassificationKNN
オブジェクト
k 最近傍分類モデル。ClassificationKNN
オブジェクトを指定します。
Tbl
— 標本データ
テーブル
モデルを学習させるために使用する標本データ。テーブルとして指定します。Tbl
の各行は 1 つの観測値に、各列は 1 つの予測子変数に対応します。オプションとして、Tbl
に応答変数用の列を 1 つ追加できます。文字ベクトルの cell 配列ではない cell 配列と複数列の変数は使用できません。
mdl
を学習させるために使用した応答変数が Tbl
に含まれている場合、ResponseVarName
または Y
を指定する必要はありません。
table に格納されている標本データを使用して mdl
の学習を行う場合、edge
の入力データも table に格納されていなければなりません。
データ型: table
ResponseVarName
— 応答変数名
Tbl
内の変数の名前
応答変数の名前。Tbl
内の変数の名前で指定します。mdl
を学習させるために使用した応答変数が Tbl
に含まれている場合、ResponseVarName
を指定する必要はありません。
ResponseVarName
には文字ベクトルまたは string スカラーを指定しなければなりません。たとえば、応答変数が Tbl.response
として格納されている場合、'response'
として指定します。それ以外の場合、Tbl
の列は Tbl.response
を含めてすべて予測子として扱われます。
応答変数は、categorical 配列、文字配列、string 配列、logical ベクトル、数値ベクトル、または文字ベクトルの cell 配列でなければなりません。応答変数が文字配列の場合、各要素は配列の 1 つの行に対応しなければなりません。
データ型: char
| string
X
— 予測子データ
数値行列
予測子データ。数値行列として指定します。X
の各行は 1 つの観測値を、各列は 1 つの変数を表します。
データ型: single
| double
Y
— クラス ラベル
categorical 配列 | 文字配列 | string 配列 | logical ベクトル | 数値ベクトル | 文字ベクトルの cell 配列
クラス ラベル。categorical 配列、文字配列、string 配列、logical ベクトル、数値ベクトル、または文字ベクトルの cell 配列を指定します。Y
の各行は、X
の対応する行の分類を表します。
データ型: categorical
| char
| string
| logical
| single
| double
| cell
weights
— 観測値の重み
ones(size(X,1),1)
(既定値) | 数値ベクトル | Tbl
内の変数の名前
観測値の重み。数値ベクトルまたは Tbl
内の変数の名前を指定します。
数値ベクトルで weights
を指定する場合、weights
のサイズは X
または Tbl
の行数と等しくなければなりません。
weights
として Tbl
内の変数名を指定する場合、名前は文字ベクトルまたは string スカラーでなければなりません。たとえば、重みが Tbl.w
として格納されている場合、weights
として 'w'
を指定します。それ以外の場合、Tbl
の列は Tbl.w
を含めてすべて予測子として扱われます。
weights
を指定した場合、関数 edge
は weights
の対応する重みを使用して X
または Tbl
の各行の観測値に重みを付けます。
例: 'Weights','w'
データ型: single
| double
| char
| string
詳細
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は、tall 配列を完全にサポートします。詳細は、tall 配列を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
次のように指定された
ClassificationKNN
モデルに対しては、edge
で GPU 配列はサポートされません。'NSMethod'
プロパティが'kdtree'
として指定されている。'Distance'
プロパティが関数ハンドルとして指定されている。'IncludeTies'
プロパティがtrue
として指定されている。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2012a で導入R2022a: 欠損値がある予測子データに対して edge
で NaN が返されることがある
関数 edge
で分類マージンの加重平均を計算する際に、スコアが NaN の観測値が省略されなくなりました。そのため、予測子データ X
または Tbl
内の予測子変数に欠損値がある場合に edge
で NaN が返されることがあります。ほとんどの場合、テスト セットの観測値に予測子の欠損がなければ、関数 edge
で NaN が返されることはありません。
この変更により、fitcauto
を使用する場合の分類モデルの自動選択が改善されます。この変更の前は、NaN 以外の予測子が少ないモデルが選択される (新しいデータの分類に最適であると予測される) ことがありました。
コードの edge
で NaN が返される場合、このような結果にならないようにコードを更新できます。rmmissing
または fillmissing
を使用して、欠損値を削除するか置き換えます。
次の表に、オブジェクト関数 edge
で NaN が返される可能性がある分類モデルを示します。詳細については、それぞれの関数 edge
の「互換性の考慮事項」を参照してください。
モデル タイプ | 完全またはコンパクトなモデル オブジェクト | オブジェクト関数 edge |
---|---|---|
判別分析分類モデル | ClassificationDiscriminant , CompactClassificationDiscriminant | edge |
分類用のアンサンブル学習器 | ClassificationEnsemble , CompactClassificationEnsemble | edge |
ガウス カーネル分類モデル | ClassificationKernel | edge |
k 最近傍分類モデル | ClassificationKNN | edge |
線形分類モデル | ClassificationLinear | edge |
ニューラル ネットワーク分類モデル | ClassificationNeuralNetwork , CompactClassificationNeuralNetwork | edge |
サポート ベクター マシン (SVM) 分類モデル | edge |
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)