主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

templateKNN

k最近傍分類器テンプレート

説明

t= templateKNN ()は学習アンサンブルあるいはECOC(誤り訂正出力符号)マルチクラスモデルの学習に適した资讯(k最近傍)学習テンプレートを返します。

既定のテンプレートを指定する場合,学習中のすべての入力引数には既定値が使用されます。

tfitcensembleまたはfitcecocの学習器として指定します。

t= templateKNN (名称,值は1つ以上の名前と値のペアの引数で指定された追加オプションによりテンプレートを作成します。

たとえば,最近傍探索の方法,検索する最近傍点の数,距離計量などを指定できます。

コマンドウィンドウにtを表示する場合,すべてのオプションは,名前と値のペア引数を使用して指定する場合を除き,空([])で表示されます。学習中,空のオプションに既定値が使用されます。

すべて折りたたむ

関数fitcensembleで使用するために,既定の設定以外のk最近傍テンプレートを作成します。

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

负载fisheriris

5つの最近傍探索のテンプレートを作成し,予測子の標準化を指定をします。

t = templateKNN (“NumNeighbors”5,“标准化”, 1)
t =适合分类KNN的模板。NumNeighbors: 5 NSMethod: " Distance: " BucketSize: " IncludeTies: [] DistanceWeight: [] BreakTies: [] Exponent: [] Cov: [] Scale: [] standarzedata: 1 Version: 1 Method: 'KNN' Type: 'classification'

NumNeighbors方法StandardizeDataおよび类型を除き,テンプレートオブジェクトのすべてのプロパティは空です。tを学習器として指定する場合,空のプロパティはそれぞれの既定値で入力されます。

tをアンサンブル分類の弱学習器として指定します。

Mdl = fitcensemble(量、种类、“方法”“子”“学习者”t);

標本内(再代入)誤分類誤差を表示します。

L = resubLoss (Mdl)
L = 0.0600

関数fitcecocで使用するために,既定の設定以外のk最近傍テンプレートを作成します。

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

负载fisheriris

5つの最近傍探索のテンプレートを作成し,予測子の標準化を指定をします。

t = templateKNN (“NumNeighbors”5,“标准化”, 1)
t =适合分类KNN的模板。NumNeighbors: 5 NSMethod: " Distance: " BucketSize: " IncludeTies: [] DistanceWeight: [] BreakTies: [] Exponent: [] Cov: [] Scale: [] standarzedata: 1 Version: 1 Method: 'KNN' Type: 'classification'

NumNeighbors方法StandardizeDataおよび类型を除き,テンプレートオブジェクトのすべてのプロパティは空です。tを学習器として指定する場合,空のプロパティはそれぞれの既定値で入力されます。

tをECOCマルチクラスモデルのバイナリ学習器として指定します。

Mdl = fitcecoc(量、种类、“学习者”t);

既定の設定では,Mdlは,対1の符号化設計を使用の学習が実行されます。

標本内(再代入)誤分類誤差を表示します。

L = resubLoss (Mdl,“LossFun”“classiferror”
L = 0.0467

入力引数

すべて折りたたむ

名前と値のペアの引数

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

例:“NumNeighbors”4“距离”,“闵可夫斯基”は,ミンコフスキー距離計量を使用して,4最近傍分類器テンプレートを指定します。

複数のクラスで最小コストが同じである場合に预测メソッドで使用されるタイブレークアルゴリズム。“BreakTies”と以下のいずれかで構成されるコンマ区切りのペアとして指定します。

  • “最小”——同順位グループの中で最小インデックスを使用します。

  • “最近的”——同順位グループの中で最近傍のあるクラスを使用します。

  • “随机”——同順位グループの中でランダムなタイブレーカーを使用します。

既定では,同順位はK最近傍の中で同じ数の最近傍点を複数のクラスがもつときに発生します。

例:“BreakTies”,“最近”

kdツリーの葉ノード内のデータ点の最大的数。“BucketSize”と正の整数値で構成されるコンマ区切りのペアとして指定します。この引数は,NSMethod“kdtree”の場合にのみ意味があります。

例:“BucketSize”,40岁

データ型:|

共分散行列。“浸”と,マハラノビス距離の計算時の共分散行列を表すスカラー値の正定値行列で構成される,コンマ区切りのペアとして指定します。この引数は,“距离”“mahalanobis”の場合にのみ有効です。

“标准化”および“规模”または“浸”のいずれかを同時に指定できません。

データ型:|

距離計量。“距离”と有効な距離計量名または関数ハンドルから構成されるコンマ区切りのペアとして指定します。使用できる距離計量名は,近傍探索法の選択(NSMethodを参照)によって決まります。

NSMethod 距離計量名
详尽的 ExhaustiveSearcherの任意の距離計量
kdtree “cityblock”“chebychev”“欧几里得”,または闵可夫斯基的

このテーブルには,ExhaustiveSearcherの有効な距離計量が含まれます。

距離計量名 説明
“cityblock” 市街地距離。
“chebychev” チェビシェフ距離(最大座標差)。
“相关” 1から,一連の値として扱われる観測間の標本線形相関係数を引きます。
的余弦 1から,ベクトルとして扱われる観測間の夾角の余弦を引きます。
“欧几里得” ユークリッド距離。
“汉明” 異なる座標のパーセンテージとなるハミング距離。
“jaccard” 1から,ジャカード係数(異なる非ゼロ座標の比率)を引いた値。
“mahalanobis” 正定値共分散行列Cを使用して計算される,マハラノビス距離。Cの既定値はXの標本共分散行列であり,X (X, omitrows)によって計算されます。Cに別の値を指定するには,“浸”名前と値のペアの引数を使用します。
闵可夫斯基的 ミンコフスキー距離。既定の指数は2です。別の指数を指定するには,“指数”名前と値のペアの引数を使用します。
“seuclidean” 標準化されたユークリッド距離。Xと各クエリ点の間の各座標差分がスケーリングされます。つまり,スケール値年代で除算されます。年代の既定値はXから計算される標準偏差で,S =性病(X, omitnan)です。年代に別の値を指定するには,规模名前と値のペアの引数を使用します。
“枪兵” 1から,観測値間の標本スピアマンの順位相関(値の系列として扱われる)を引いた値。
distfun

距離関数ハンドル。distfunは次の形式です

函数ZJ D2 = distfun(子)距离计算%...
ここで,

  • は1行のXまたはYを含む1N列のベクトルです。

  • ZJは複数行のXまたはYを含む平方米N列の行列です。

  • D2平方米1列の距離のベクトルであり,D2 (k)は観測値ZJ (k,:)の間の距離です。

CategoricalPredictors“所有”に指定した場合,既定の距離計量は“汉明”となります。それ以外の場合は,既定の距離計量は“欧几里得”です。

定義については距離計量を参照してください。

例:“距离”,“闵可夫斯基”

データ型:字符|字符串|function_handle

距離重み付け関数。“DistanceWeight”と関数ハンドルまたは次の表のいずれかの値から構成されるコンマ区切りのペアとして指定します。

説明
“平等” 重み付けなし
“逆” 重みは1 /距離です
“squaredinverse” 重みは1 /距離2です
fcn fcnは,非負の距離の行列を受け入れる関数であり,非負の距離重み付けを含む同じサイズの行列を返します。たとえば,“squaredinverse”@ (d) d。^ (2)と同じです。

例:“DistanceWeight”、“逆”

データ型:字符|字符串|function_handle

ミンコフスキー距離指数。“指数”と正のスカラー値で構成されるコンマ区切りのペアとして指定します。この引数は,“距离”闵可夫斯基的の場合にのみ有効です。

例:“指数”,3

データ型:|

同順位使用フラグ。“IncludeTies”と,距離の値がK番目に小さい距離と等しい近傍点をすべて预测に含めるかどうかを表す論理値で構成される,コンマ区切りのペアとして指定します。IncludeTies真正的の場合,预测はすべての近傍点を含みます。それ以外の場合,预测は正確にKの近傍点を使用します。

例:“IncludeTies”,真的

データ型:逻辑

最近傍探索法。“NSMethod”“详尽”または“kdtree”で構成されるコンマ区切りのペアとして指定します。

  • “kdtree”- - - - - -kd木を作成および使用して最近傍を探索します。“kdtree”は距離計量が次のいずれかである場合に有効です。

    • “欧几里得”

    • “cityblock”

    • 闵可夫斯基的

    • “chebychev”

  • “详尽”——網羅的探索アルゴリズムを使用します。新しい点xnewのクラスを予測するときに,X内のすべての点からxnewまでの距離を計算して最近傍を探索します。

既定値は,Xの列数が10以下で,XがスパースでないかgpuArrayで,距離計量が“kdtree”型の場合は“kdtree”,それ以外の場合は“详尽”です。

例:“NSMethod”、“详尽”

予測時に各点を分類するために検出するXの最近傍の数。“NumNeighbors”と正の整数値で構成されるコンマ区切りのペアとして指定します。

例:“NumNeighbors”,3

データ型:|

距離スケール。“规模”と,Xの列数と同じ長さの非負のスカラー値を含むベクトルで構成される,コンマ区切りのペアとして指定します。Xとクエリ点の間の各座標差分は,规模の対応する要素でスケーリングされます。この引数は,“距离”“seuclidean”の場合にのみ有効です。

“标准化”および“规模”または“浸”のいずれかを同時に指定できません。

データ型:|

予測子を標準化するためのフラグ。“标准化”と,真正的1)または(0)のいずれかで構成される,コンマ区切りのペアとして指定します。

“标准化”,真的を設定すると,予測子データ(X)の各列のセンタリングとスケーリングを,それぞれ列の平均値と標準偏差を使用して行います。

すべての予測子がカテゴリカルの場合,カテゴリカル予測子は標準化されずエラーがスローされます。

“标准化”,1および“规模”または“浸”のいずれかを同時に指定できません。

予測子データの標準化をお勧めします。

例:“标准化”,真的

データ型:逻辑

出力引数

すべて折りたたむ

学習アンサンブルまたはECOC(誤り訂正出力符号)マルチクラスモデルを学習させるのに適したk NN分類テンプレート。テンプレートオブジェクトとして返します。tfitcensembleまたはfitcecocに渡し,アンサンブルまたはECOCモデルそれぞれの资讯を作成する方法を指定します。

コマンドウィンドウにtを表示する場合,すべての未指定のオプションは空([])で表示されます。しかし,空のオプションは学習中に対応する既定値に置き換えられます。

R2014aで導入