このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
k最近傍分类器の近似
は,テーブルMdl
= fitcknn (TBL.
,ResponseVarname.
)TBL.
内のの力次数(予测子,特点量または属性も呼ばます),およびおよび力(応答)tbl.responseVarname.
に基づいてķ最近傍分类モデルを返します。
フィッシャーのアヤメのデータに対してk最近傍分類器に学習をさせます。ここで,予測子の最近傍の個数kは5です。
フィッシャーのアヤメのデータを読み込みます。
负载fisheririsx = meas;Y =物种;
X
は150本のアヤメについて4つの花弁の測定値が含まれている数値行列です。Y
は,対応するアヤメの種類が含まれている文字ベクトルの细胞配列です。
5.
Mdl = fitcknn (X, Y,“NumNeighbors”5,“标准化”,1)
Mdl = ClassificationKNN ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' NumObservations: 150距离:'euclidean' NumNeighbors: 5属性,方法
Mdl
は学习させたClassificationKNN
分類器であり,一部のプロパティはコマンドウィンドウに表示されます。
ドット表記を使用してMdl
プロパティにアクセスします。
Mdl。ClassNames
ans =3 x1细胞{'setosa'} {'versicolor'} {'virginica'}
Mdl。之前
ans =1×30.3333 0.3333 0.3333
Mdl。之前
にはクラスの事前確率が格納されます。これは,Fitcknn.
の名前と値のペアの引数“之前”
を使使し指定ます。クラスクラス事前确率の顺序顺序Mdl。ClassNames
のクラスの順序に対応します。既定では,事前確率はデータ内のクラスのそれぞれの相対的頻度です。
学習後に事前確率をリセットすることもできます。たとえば,事前確率をそれぞれ 0.5、0.2 および 0.3 に設定します。
Mdl。Prior = [0.5 0.2 0.3];
Mdl
を预测
に渡すと,新しい測定値にラベルを付けることができます。また,crossval
に渡すと,分類器を交差検証できます。
フィッシャーのアヤメのデータセットを読み込みます。
负载fisheririsx = meas;Y =物种;
X
は150本のアヤメについて4つの花弁の測定値が含まれている数値行列です。Y
は,対応するアヤメの種類が含まれている文字ベクトルの细胞配列です。
3最近傍分類器をミンコフスキー距離を使用して学習させます。ミンコフスキー距離を使用するには,網羅的探索を使用しなければなりません。非カテゴリカル予測子データを標準化することをお勧めします。
Mdl = fitcknn (X, Y,“NumNeighbors”,3,...“NSMethod”,'穷举着','距离',闵可夫斯基的,...“标准化”1);
Mdl
はClassificationKNN
分類器です。
Mdl
のプロパティをワークスペースウィンドウのMdl
をダブルクリックして調べることができます。変数エディターが開きます。
カイ二乗距離を使用してk最近傍分類器に学習をさせます。
フィッシャーのアヤメのデータセットを読み込みます。
负载fisheririsx = meas;%预测因子Y =物种;% 回复
j次元のx点とz点のカイ二乘距离は次のようになります。
ここで, は次元jに関連付けられている重みです。
カイ二乗距離関数を指定します。距離関数は以下の手順を実行しなければなりません。
X
の1行,たとえば,x
と行列Z
をとります。
x
をZ
の各行と比較する。
長さ
のベクトルD
を返す。
はZ
の行数です。D
の各要素はx
に対応する観測とZ
の各行に対応する観測との間の距離です。
chiSqrDist = @ x, Z, wt)√((bsxfun (@minus, x, Z)。^ 2)* wt);
この例では例示のために任意の重みを使用します。
3.
k = 3;w = (0.3;0.3;0.2;0.2);KNNMdl = fitcknn (X, Y,'距离'@ (x, Z) chiSqrDist (x, Z, w),...“NumNeighbors”、钾、“标准化”1);
knnmdl.
はClassificationKNN
分類器です。
10分钟てててててますます。
rng (1);%的再现性CVKNNMdl = crossval (KNNMdl);classError = kfoldLoss (CVKNNMdl)
classError = 0.0600
CVKNNMdl
はClassificationPartitionedModel
分類器です。10.分割分類誤差は 4% です。
分享器を异なる加载スキームを使
w2 = (0.2;0.2;0.3;0.3);CVKNNMdl2 = fitcknn (X, Y,'距离',@(x,z)chisqrdist(x,z,w2),...“NumNeighbors”、钾、“KFold”,10,“标准化”1);classError2 = kfoldLoss (CVKNNMdl2)
classError2 = 0.0400
2型
この例では,Fitcknn.
を使用して自動的にハイパーパラメーターを最適化する方法を示します。この例では,フィッシャーのアヤメのデータを使用します。
データを読み込みます。
负载fisheririsx = meas;Y =物种;
自動的なハイパーパラメーター最適化を使用して,5分割交差検証損失を最小化するハイパーパラメーターを求めます。
再現性を得るために,乱数シードを設定し,“expected-improvement-plus”
の獲得関数を使用します。
rng(1) Mdl = fitcknn(X,Y,“OptimizeHyperparameters”,“汽车”,...'hyperparameteroptimizationOptions',...结构(“AcquisitionFunctionName”,“expected-improvement-plus”))
|=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | NumNeighbors距离| | | | |结果运行时| | | (estim(观察) .) | | | |=====================================================================================================||1|Best | 0.026667 | 0.58776 | 0.026667 | 0.026667 | 30 | cosine | | 2 | Accept | 0.04 | 0.31307 | 0.026667 | 0.027197 | 2 | chebychev | | 3 | Accept | 0.19333 | 0.20608 | 0.026667 | 0.030324 | 1 | hamming | | 4 | Accept | 0.33333 | 0.17099 | 0.026667 | 0.033313 | 31 | spearman | | 5 | Best | 0.02 | 0.12757 | 0.02 | 0.020648 | 6 | cosine | | 6 | Accept | 0.073333 | 0.10582 | 0.02 | 0.023082 | 1 | correlation | | 7 | Accept | 0.06 | 0.24068 | 0.02 | 0.020875 | 2 | cityblock | | 8 | Accept | 0.04 | 0.12029 | 0.02 | 0.020622 | 1 | euclidean | | 9 | Accept | 0.24 | 0.19347 | 0.02 | 0.020562 | 74 | mahalanobis | | 10 | Accept | 0.04 | 0.15951 | 0.02 | 0.020649 | 1 | minkowski | | 11 | Accept | 0.053333 | 0.20189 | 0.02 | 0.020722 | 1 | seuclidean | | 12 | Accept | 0.19333 | 0.11384 | 0.02 | 0.020701 | 1 | jaccard | | 13 | Accept | 0.04 | 0.11814 | 0.02 | 0.029203 | 1 | cosine | | 14 | Accept | 0.04 | 0.13075 | 0.02 | 0.031888 | 75 | cosine | | 15 | Accept | 0.04 | 0.13512 | 0.02 | 0.020076 | 1 | cosine | | 16 | Accept | 0.093333 | 0.25354 | 0.02 | 0.020073 | 75 | euclidean | | 17 | Accept | 0.093333 | 0.13083 | 0.02 | 0.02007 | 75 | minkowski | | 18 | Accept | 0.1 | 0.11861 | 0.02 | 0.020061 | 75 | chebychev | | 19 | Accept | 0.15333 | 0.1298 | 0.02 | 0.020044 | 75 | seuclidean | | 20 | Accept | 0.1 | 0.16269 | 0.02 | 0.020044 | 75 | cityblock | |=====================================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | NumNeighbors | Distance | | | result | | runtime | (observed) | (estim.) | | | |=====================================================================================================| | 21 | Accept | 0.033333 | 0.28907 | 0.02 | 0.020046 | 75 | correlation | | 22 | Accept | 0.033333 | 0.21655 | 0.02 | 0.02656 | 9 | cosine | | 23 | Accept | 0.033333 | 0.27591 | 0.02 | 0.02854 | 9 | cosine | | 24 | Accept | 0.02 | 0.14282 | 0.02 | 0.028607 | 1 | chebychev | | 25 | Accept | 0.02 | 0.13366 | 0.02 | 0.022264 | 1 | chebychev | | 26 | Accept | 0.02 | 0.12283 | 0.02 | 0.021439 | 1 | chebychev | | 27 | Accept | 0.02 | 0.1237 | 0.02 | 0.020999 | 1 | chebychev | | 28 | Accept | 0.66667 | 0.25575 | 0.02 | 0.020008 | 75 | hamming | | 29 | Accept | 0.04 | 0.18671 | 0.02 | 0.020008 | 12 | correlation | | 30 | Best | 0.013333 | 0.15814 | 0.013333 | 0.013351 | 6 | euclidean |
__________________________________________________________ 优化完成。maxobjective达到30个。总函数计算:30总运行时间:72.4006秒总目标函数计算时间:5.6256最佳观测可行点:NumNeighbors Distance ____________ _________ 6 euclidean Observed objective function value = 0.013333 Estimated objective function value = 0.013351 function evaluation time = 0.15814 Best Estimated feasible point (according to models):NumNeighbors Distance ____________ _________ 6欧几里得估计目标函数值= 0.013351估计函数计算时间= 0.1594
Mdl = ClassificationKNN ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' NumObservations: 150 HyperparameterOptimizationResults: [1x1 BayesianOptimization] Distance: 'euclidean' NumNeighbors: 6属性,方法
TBL.
- - - - - -标本データモデルを学習させるために使用する標本データ。テーブルとして指定します。TBL.
,TBL.
にに次数用词列を1つ追加できます。文件字の细胞配列ではない细胞配列配列とと列とととと列とととませませませ。
TBL.
に応答変数が含まれている場合にTBL.
内の他の変数をすべて予測子として使用するには,ResponseVarname.
を使用して応答変数を指定します。
TBL.
に応答変数が含まれている場合にTBL.
内の他のののの一道のみをを子としてとしてには,公式
を使用して式を指定します。
TBL.
に応答変数が含まれていない場合は,Y
をを用して応答応答指定します。TBL.
の行数はは等しくなければませませ
データ型:表格
ResponseVarname.
- - - - - -応答変数名TBL.
内内分数の名前応答変数の名前。TBL.
内の変数の名前で指定します。
ResponseVarname.
には字字ベクトルまたはスカラーなりませんませなりませんたとえばなりませんませませませませませませませませY
が资源描述。Y
として格納されている場合,“Y”
として指定します。それ户外の场合书,モデルモデル学正文ささせるとき,TBL.
の列はY
を含めてすべて予測子として扱われます。
応答変数は,绝对配列,文字配列,字符串配列,逻辑ベクトル,数値ベクトル,または文字ベクトルの细胞配列でなければなりません。Y
が文字配列である場合,応答変数の各要素は配列の1つの行に対応しなければなりません。
名前と値の引数一会
を使用してクラスの順序を指定することをお勧めします。
データ型:字符
|字符串
公式
- - - - - -応答変数および予測子変数サブセットの説明モデル応答変数および予測子変数サブセットの説明モデル。“Y ~ x1 + x2 + x3”
という形式の文字ベクトルまたは字符串スカラーを指定します。この形式では,Y
はは変数を,X1
、X2
およびX3
は予测子変数を表します。
モデルに学習をさせるための予測子としてTBL.
内の変数のサブセットを指定するには,式を使用します。式を指定した場合,公式
に现れないTBL.
内内分数は使使ません。
式の変数名はTBL.
の変数名(Tbl.Properties.VariableNames
)であり,有效なmatlab®識別子でなければなりません。関数isvarname
を使用してTBL.
の数名を検证できますます。所以名称が有效でない合并相关,关联matlab.lang.makeValidName
を使用してそれらを変換できます。
データ型:字符
|字符串
Y
- - - - - -クラスラベルクラスラベル。绝对配列,文字配列,弦配列,逻辑ベクトル,数値ベクトル,または文字ベクトルの细胞配列を指定します。Y
の各行は,X
の対応する行の分類を表します。
Y
内の南
、''
(空の文字ベクトル),""
(空の字符串),< >失踪
,および<定义>
このは欠损とれます。このこの,欠损応答がある観测値习习に使使れれ。
データ型:分类
|字符
|字符串
|逻辑
|单身的
|双
|细胞
X
- - - - - -予测子データ予測子データ。数値行列を指定します。
各行は1つの観测(インスタンスや例ともも呼ばますます,各列は1つの予测子跳数(特点ともれますますにします。
Y
の长さとX
の行数はは等しくなければませませ
予測子の名前をX
に表示される順序で指定するには,PredictorNames
名前と値のペアの引数を使用します。
データ型:双
|单身的
オプションの名称,值
引数のコンマ区切りペアを指定します。姓名
は数名で,价值
は対応する値です。姓名
は引用符で囲まなければなりません。Name1, Value1,…,的家
のように,複数の名前と値のペアの引数を,任意の順番で指定できます。
“NumNeighbors”3“NSMethod”、“穷举”,“距离”,“闵可夫斯基”
は最近傍探索法とミンコフスキー距離を使用して3最近傍の分類器を指定します。
メモ
交差検证の名前とののペアののを名称と値のペアペア幂“OptimizeHyperparameters”
と同時に使用することはできません。“OptimizeHyperparameters”
の場合の交差検証は,名前と値のペアの引数'hyperparameteroptimizationOptions'
を使用することのみによって変更できます。
BreakTies
- - - - - -タイブレークアルゴリズム“最小”
(既定値) |'最近'
|“随机”
复数のクラスで最小コストが同じ同じであるであるに预测
メソッドで使用されるタイブレークアルゴリズム。“BreakTies”
と以下のいずれかで構成されるコンマ区切りのペアとして指定します。
“最小”
——同順位グループの中で最小インデックスを使用します。
'最近'
- 同顺位グループの中で最近傍のあるクラスを使しし。
“随机”
——同順位グループの中でランダムなタイブレーカーを使用します。
既定では,同顺位はK
最近傍の中で同じ数の最近傍点を複数のクラスがもつときに発生します。
例:“BreakTies”,“最近”
BucketSize
- - - - - -ノード内のデータ点の最大的数50.
(既定値) |正の整数値kdツリーの葉ノード内のデータ点の最大的数。'桶里'
と正の整数値で構成されるコンマ区切りのペアとして指定します。この引数は,NSMethod
が“kdtree”
の場合にのみ意味があります。
例:“BucketSize”,40岁
データ型:单身的
|双
CategoricalPredictors
- - - - - -カテゴリカルカテゴリカル子フラグ[]
|“所有”
カテゴリカル予測子フラグ。“CategoricalPredictors”
と以下のいずれかで构成される,コンマ区切りペアとして指定します。
“所有”
——すべての予測子がカテゴリカルです。
[]
- カテゴリカルカテゴリカル子はありんん。
Fitcknn.
の予測子データは,すべて連続,またはすべて直言のいずれかでなければなりません。
予測子データがテーブル(TBL.
)内にある場合,Fitcknn.
は,その変数が逻辑ベクトル,直言ベクトル,文字配列,字符串配列または文字ベクトルの细胞配列のいずれかである場合に,変数を直言であると見なします。TBL.
に連続値とカテゴリカル値の両方が含まれている場合,Fitcknn.
が,すべての予測子を,連続変数とカテゴリカル変数のどちらとして扱うか,その方法を判断できるよう,“CategoricalPredictors”
のの値を指定指定しばなりませませ
予測子データが行列(X
)である場合,Fitcknn.
はすべての予測子が連続的であると見なします。X
のすべての予測子を直言として特定するには,“CategoricalPredictors”
を“所有”
として指定します。
CategoricalPredictors
を“所有”
に設定した場合,既定の設定の距离
は“汉明”
です。
例:'pationoricalpricictors','全部'
一会
- - - - - -学習に使用するクラスの名前学習に使用するクラスの名前。分类配列、文字配列、string 配列、logical ベクトル、数値ベクトル、または文字ベクトルの cell 配列として指定します。一会
のデータ型はTBL.
内の応答変数またはY
と同じでなければなりません。
一会
が文字配列の场合,各要素は配列の1つの行に対応しなければなりません。
一会
の使用目的は次のとおりです。
学習時のクラスの順序を指定する。
クラスの順序に対応する入力または出力引数の次元の順序を指定する。たとえば,成本
の次元の順序や预测
によって返される分類スコアの列の順序を指定するために一会
を使用します。
学習用にクラスのサブセットを選択する。たとえば,Y
に含まれているすべての異なるクラス名の集合が{' a ', ' b ', ' c '}
であるとします。クラス'一种'
および'C'
のみの観測値を使用してモデルに学習をさせるには,'classnames',{'a','c'}
を指定します。
一会
の既定値は,TBL.
内の応答変数またはY
に含まれているすべての異なるクラス名の集合です。
例:“类名”,{' b ', ' g '}
データ型:分类
|字符
|字符串
|逻辑
|单身的
|双
|细胞
成本
- - - - - -誤分類のコスト点の誤分類のコスト。“成本”
と以下のいずれかで構成されるコンマ区切りペアとして指定されます。
既定値は,我~ = j
の结合は成本(i, j) = 1
、我=我
の结合は成本(i, j) = 0
です。
データ型:单身的
|双
|结构体
浸
- - - - - -共分类行程COV(x,'omitrows')
(既定値) |スカラー値の正定値行列共分散行列。“浸”
と,マハラノビス距離の計算時の共分散行列を表すスカラー値の正定値行列で構成される,コンマ区切りのペアとして指定します。この引数は,'距离'
が“mahalanobis”
の場合にのみ有効です。
“标准化”
および“规模”
または“浸”
のいずれかを同時に指定できません。
データ型:单身的
|双
距离
- - - - - -距離計量“cityblock”
|“chebychev”
|'相关性'
|的余弦
|“欧几里得”
|“汉明”
|关键词|...距離計量。'距离'
と有効な距離計量名または関数ハンドルから構成されるコンマ区切りのペアとして指定します。使用できる距離計量名は,近傍探索法の選択(NSMethod
を参照)によってによってます。
NSMethod |
距離計量名 |
---|---|
穷 |
令人疲惫的 の任意の距離計量 |
kdtree |
“cityblock” 、“chebychev” 、“欧几里得” ,または闵可夫斯基的 |
このテーブルには,令人疲惫的
の有効な距離計量が含まれます。
距離計量名 | 説明 |
---|---|
“cityblock” |
市街地距離。 |
“chebychev” |
チェビチェビシェフ(最大座标差)。 |
'相关性' |
1から,一連の値として扱われる観測間の標本線形相関係数を引きます。 |
的余弦 |
1から,ベクトルとして扱われる観測間の夾角の余弦を引きます。 |
“欧几里得” |
ユークリッド距离。 |
“汉明” |
異なる座標のパーセンテージとなるハミング距離。 |
'jaccard' |
1から,ジャカード係数(異なる非ゼロ座標の比率)を引いた値。 |
“mahalanobis” |
正定値共分享行程C を使用して計算される,マハラノビス距離。C の既定値はX のの本共分享行程であり,COV(x,'omitrows') によって計算されます。C に別の値を指定するには,“浸” 名前と値のペアの引数を使用します。 |
闵可夫斯基的 |
ミンコフスキー距離。既定の指数は2 です。別の指数を指定するには,“指数” 名前と値のペアの引数を使用します。 |
'seuclidean' |
標準化されたユークリッド距離。X と各クエリ点の間の各座標差分がスケーリングされます。つまり,スケール値年代 で除算されます。年代 の既定値はX から計算される標準偏差で,S =性病(X, omitnan) です。年代 に別の値を指定するには,规模 名前と値のペアの引数を使用します。 |
“枪兵” |
1から,観测値间の标本スピアマンの顺位相相れるののれるれるれるたたたたたたた |
@ |
距離関数ハンドル。 函数ZJ D2 = distfun(子)距离计算%...
|
CategoricalPredictors
を“所有”
に指定した場合,既定の距離計量は“汉明”
となります。それ以外の場合は,既定の距離計量は“欧几里得”
です。
定義については距離計量を参照してください。
例:'距离','minkowski'
データ型:字符
|字符串
|function_handle
DistanceWeight
- - - - - -距離重み付け関数'平等的'
(既定値) |“逆”
|“squaredinverse”
|关键词距離重み付け関数。“距离重量”
と関数ハンドルまたは次の表のいずれかの値から構成されるコンマ区切りのペアとして指定します。
値 | 説明 |
---|---|
'平等的' |
重み付けなし |
“逆” |
重みは1 /距離です |
“squaredinverse” |
重みは1 /距離2です |
@ |
fcn たとえば,“squaredinverse” は@ (d) d。^ (2) と同じです。 |
例:“DistanceWeight”、“逆”
データ型:字符
|字符串
|function_handle
指数
- - - - - -ミンコフスキー距離指数2
(既定値) |正のスカラー値ミンコフスキーミンコフスキー数。“指数”
と正さはのペアはははこのとしては。'距离'
が闵可夫斯基的
の場合にのみ有効です。
例:“指数”,3
データ型:单身的
|双
IncludeTies
- - - - - -同順位使用フラグ假
(既定値) |真的
同順位使用フラグ。“IncludeTies”
と,距离の値がK
番目に小さい距离と等しい点をすべて预测
に含めるかどうかを表す論理値で構成される,コンマ区切りのペアとして指定します。IncludeTies
が真的
の場合,预测
はすべての近傍点を含みます。それ以外の場合,预测
は正確にK
の近傍点を使用します。
例:“IncludeTies”,真的
データ型:逻辑
NSMethod
- - - - - -最近傍探索法“kdtree”
|'穷举着'
最近傍探索法。“NSMethod”
と'穷举着'
または“kdtree”
で構成されるコンマ区切りのペアとして指定します。
“kdtree”
- - - - - -kd木を作品成および使して傍を探索探索ますますます。“kdtree”
は距離計量が次のいずれかである場合に有効です。
“欧几里得”
“cityblock”
闵可夫斯基的
“chebychev”
'穷举着'
——網羅的探索アルゴリズムを使用します。新しい点XNEW.
のクラスを予測するときに,X
内内のすべての点からXNEW.
までの距離を計算して最近傍を探索します。
既定値は,X
の列数が10.
以下で,X
がスパースでないかGPUARRAY.
で,距离距离量が“kdtree”
型の場合は“kdtree”
,それ以外の場合は'穷举着'
です。
例:'nsmethod','穷举'
NumNeighbors
- - - - - -検出する最近傍の数1
(既定値) |正の整数値予測時に各点を分類するために検出するX
の最近傍の数。“NumNeighbors”
と正の整数値で構成されるコンマ区切りのペアとして指定します。
例:“NumNeighbors”,3
データ型:单身的
|双
PredictorNames
- - - - - -予测子数量名予測子変数名。一意な名前の字符串配列または一意な文字ベクトルの细胞配列として指定します。PredictorNames
の機能は,学習データの提供方法によって決まります。
X
とY
を指定した場合,PredictorNames
を使用してX
内の予測子変数に名前を割り当てることができます。
PredictorNames
内の名称の顺序は,X
の列の順序に一致しなければなりません。つまり,predictornames {1}
はX (: 1)
の名前,predictornames {2}
はX (:, 2)
の名前であり,他も同様です。また,大小(X, 2)
と元素个数(PredictorNames)
は等しくなければなりません。
既定ではPredictorNames
は{'x1','x2',...}
です。
TBL.
を指定する場合,PredictorNames
を使使して学习使する予测子数量を选択でき。つまりFitcknn.
は,学校中间にPredictorNames
の予测子数量と応答数のみのみを使使します。
PredictorNames
はTbl.Properties.VariableNames
のサブセットでなければならず,応答変数の名前を含めることはできません。
既定では,すべての予測子変数の名前がPredictorNames
に格納されます。
“PredictorNames”
と公式
の両方ではなく,いずれか一方を使用して学習用の予測子を指定することをお勧めします。
例:PredictorNames,{‘SepalLength’,‘SepalWidth’,‘PetalLength’,‘PetalWidth}
データ型:字符串
|细胞
之前
- - - - - -事前確率“经验”
(既定値) |“统一”
|スカラー値のベクトル|構造体各クラスの事前確率。“之前”
と次の表の値から构成されるコンマ区切りのペアとして指定します。
値 | 説明 |
---|---|
“经验” |
クラスの事前確率は,Y のクラスの相対的頻度です。 |
“统一” |
クラスの事前確率はいずれも1 / K (Kはクラス数)となります。 |
数値ベクトル | 各要素はクラスの事前確率です。Mdl .classnames. に従って要素を並べ替えるか,一会 名前と値のペアの引数を使用して順序を指定します。要素は合計が1 になるになるに正式化さますます。 |
構造体 | 構造体
|
权重
と之前
の両方に値を設定した場合は,重みは合計が対応するクラスの事前確率の値になるように再正規化されます。
例:“前”、“制服”
データ型:字符
|字符串
|单身的
|双
|结构体
ResponseName
- - - - - -応答変数名“Y”
(既定値) |文字ベクトル|字符串スカラー応答源名称。文件ベクトルまたは弦またはスカラー指定します。
Y
を指定した場合,“ResponseName”
を使用して応答変数の名前を指定できます。
ResponseVarname.
または公式
を指定した場合,“ResponseName”
を使用することはできません。
例:“ResponseName”、“响应”
データ型:字符
|字符串
规模
- - - - - -距離スケール性病(X, omitnan)
(既定値) |非負のスカラー値のベクトル距离スケール。“规模”
と,X
の列数と同じ長さの非負のスカラー値を含むベクトルで構成される,コンマ区切りのペアとして指定します。X
とクエリ点の間の各座標差分は,规模
の対応する要素でスケーリングされます。この引数は,'距离'
が'seuclidean'
の場合にのみ有効です。
“标准化”
および“规模”
または“浸”
のいずれかを同時に指定できません。
データ型:单身的
|双
scoretransform.
- - - - - -スコア変換“没有”
(既定値) |“doublelogit”
|“invlogit”
|'ismax'
|分对数的
|关键词|...スコア変換。文字ベクトル,弦スカラー,または関数ハンドルとして指定します。
次の表は,使用可能な文字ベクトルおよび字符串スカラーをまとめています。
値 | 説明 |
---|---|
“doublelogit” |
1 /(1 + e2 x) |
“invlogit” |
Log (x / (1 - x)) |
'ismax' |
最大のスコアをもつクラスのスコアを1に設定し,他のすべてのクラスのスコアを0に設定する |
分对数的 |
1 /(1 + e- x) |
“没有” または'身份' |
x(変换なし) |
“标志” |
x < 0のとき1 x = 0のとき0 x> 0のとき1 |
“对称” |
2x - 1 |
“symmetricismax” |
最大のスコアをもつクラスのスコアを1に設定し,他のすべてのクラスのスコアを1に設定する |
'symmetriclogit' |
2 / (1 + e- x) - 1 |
MATLAB関数またはユーザー定義関数の場合は,スコア変換用の関数ハンドルを使用します。关键词は,行列 (元のスコア) を受け入れて同じサイズの行列 (変換したスコア) を返さなければなりません。
例:“ScoreTransform”、“分对数的
データ型:字符
|字符串
|function_handle
标准化
- - - - - -予测子を标准标准するのフラグ假
(既定値) |真的
予測子を標準化するためのフラグ。“标准化”
と,真的
(1
)または假
(0)
〖图库“
“标准化”,真的
を設定すると,予測子データ(X
)の各列のセンタリングとスケーリングを,それぞれ列の平均値と標準偏差を使用して行います。
すべての予测子がカテゴリカルの场合,カテゴリカル予测子は标准化されずエラーがスローされます。
“标准化”,1
および“规模”
または“浸”
のいずれかを同時に指定できません。
予測子データの標準化をお勧めします。
例:“标准化”,真的
データ型:逻辑
权重
- - - - - -観測値の重みTBL.
内内分数の名前観測値の重み。“重量”
と,正の値の数値ベクトルまたはTBL.
内の変数の名前から構成されるコンマ区切りのペアとして指定します。X
またはTBL.
の各行に含まれている観测値は,权重
の対応する値で重み付けされます。权重
のサイズは,X
またはTBL.
の行数と等しくなければなりません。
入力データをテーブルTBL.
として指定した場合,权重
は数値ベクトルが含まれているTBL.
内の変数の名前にすることができます。この場合,权重
には字ベクトルベクトルまたはスカラーを指定しなければなりませんたとえばなりませませませませませませませませませませませませませませませW
が资源描述。W
として格納されている場合,' W '
として指定します。それ以外の場合,モデルに学習をさせるときに、TBL.
の列はW
を含めてすべて予测子または応答として扱われます。
合計が各クラスの事前確率の値と等しくなるように权重
が正規化されます。
既定の設定では,权重
は(
です。n
,1)n
はX
またはTBL.
の観測値数です。
データ型:双
|单身的
|字符
|字符串
CVPartition.
- - - - - -交差検証分割[]
(既定値) |cvpartition
分割オブジェクト交差検証分割。cvpartition
で作物成しcvpartition
分割オブジェクトとして指定します。分割オブジェクトは,交差検証のタイプと、学習セットおよび検証セットのインデックス付けを指定します。
交差検証済みモデルの作成で指定できる名前と値の引数は,CVPartition.
、坚持
、kfold.
、Leaveout
の4つのうちのいずれかのみです。
例:本量利= cvpartition(500年,“KFold”,5)
500年を使用して個の観測値に対する5分割交差検証について無作為な分割を作成するとします。この場合,'cvpartition',cvp
を使用して交差検证済みモデルを指定できます。
坚持
- - - - - -ホールドアウト検証の対象データの比率ホールドアウト検証に使用されるデータの比率。(0,1)の範囲のスカラー値として指定します。‘坚持’,p
を指定したた合,以下の手顺が実行。
p * 100
%のデータを無作為に選択して検証データとして確保し,残りのデータを使用してモデルに学習をさせる。
コンパクトな学習済みモデルを交差検証済みモデルの训练有素
プロパティに格納する。
交差検証済みモデルの作成で指定できる名前と値の引数は,CVPartition.
、坚持
、kfold.
、Leaveout
の4つのうちのいずれかのみです。
例:'扑腾',0.1
データ型:双
|单身的
kfold.
- - - - - -分享数码10.
(既定値) |1より大きい正の整数値交差検証済みモデルで使用する分割の数。1より大きい正の整数値として指定します。KFold, k
を指定したた合,以下の手顺が実行。
データを無作為にk
个のセットに分享。
各セットについて,そのセットを検定データとして確保し,他のk
- 1個のセットを使用してモデルに学習をさせる。
k
個のコンパクトな学習済みモデルを,交差検証済みモデルの训练有素
プロパティに含まれているk
行1列の细胞ベクトルに格納する。
交差検証済みモデルの作成で指定できる名前と値の引数は,CVPartition.
、坚持
、kfold.
、Leaveout
の4つのうちのいずれかのみです。
例:“KFold”,5
データ型:单身的
|双
Leaveout
- - - - - -分析法の交差検証のフラグ'离开'
(既定値) |“上”
分析法の交差検証のフラグ。“上”
または'离开'
として指定します。'遗送','开'
を指定した場合,n個の観測値(nはモデルのNumObservations
プロパティで指定される,欠损観测値を除外した観测値の个数)のそれぞれについて以下の手顺が実行されます。
いずれかの観测値を検证データとして确保し,他のN - 1个の観测値を使用してモデルに学习をさせる。
n個のコンパクトな学習済みモデルを,交差検証済みモデルの训练有素
プロパティに含まれているn行1列の细胞ベクトルに格式する。
交差検証済みモデルの作成で指定できる名前と値の引数は,CVPartition.
、坚持
、kfold.
、Leaveout
の4つのうちのいずれかのみです。
例:'遗送','开'
OptimizeHyperparameters
- - - - - -最适化するパラメーター“没有”
(既定値) |“汽车”
|“所有”
|使用可能パラメーター名の字符串配列または细胞配列|optimizableVariable
オブジェクトのベクトル最適化するパラメーター。“OptimizeHyperparameters”
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
“没有”
- 最最适を行为ません。
“汽车”
- - - - - -{‘距离’,‘NumNeighbors}
を使用します。
“所有”
——すべての使用可能パラメーターを最適化します。
实用可能名の弦のまたは细胞配列。
optimizableVariable
オブジェクトオブジェクトベクトル。通讯はhyperparameters
のの力です。
最適化では,パラメーターを変化させることにより,Fitcknn.
の交差検証損失(誤差)を最小化しようとします。(各種の状況における)交差検証損失の詳細については,分類損失を参照してください。交差検証のタイプおよびその他の最適化の側面を制御するには,名前と値のペアHyperparameterOptimizationOptions
を使用します。
メモ
“OptimizeHyperparameters”
の値は,他の名前と値のペアの引数を使用して設定した値より優先されます。たとえば,“OptimizeHyperparameters”
を“汽车”
に設定すると,“汽车”
の値が適用されます。
Fitcknn.
では,以下のパラメーターを使用できます。
距离
- - - - - -Fitcknn.
は,“cityblock”
、“chebychev”
、'相关性'
、的余弦
、“欧几里得”
、“汉明”
、'jaccard'
、“mahalanobis”
、闵可夫斯基的
、'seuclidean'
および“枪兵”
で探索します。
DistanceWeight
- - - - - -Fitcknn.
は,'平等的'
、“逆”
および“squaredinverse”
で探索します。
指数
- - - - - -Fitcknn.
は,既定では範囲(0.5, 3)
で,正の実数値を探索します。
NumNeighbors
- - - - - -Fitcknn.
は,既定では範囲[1,max(2,round(numobservations / 2))]
の対数スケールで,正の整数値を探索します。
标准化
- - - - - -Fitcknn.
は,値'真的'
および“假”
で探索します。
既定以外のパラメーターを設定するには,既定以外の値が含まれているoptimizableVariable
たとえば,以下のににし。
负载fisheririsparams = hyperparameters (“fitcknn”量,物种);参数(1)。范围=(1、20);
OptimizeHyperparameters
の値として参数个数
を渡します。
既定では,コマンドラインに反復表示が表示され,最適化のハイパーパラメーターの個数に従ってプロットが表示されます。最適化とプロットにおける目的関数は,回帰の場合はLog(1 +交叉验证损失),分類の場合は誤分類率です。反復表示を制御するには,名前と値のペアの引数'hyperparameteroptimizationOptions'
の详细的
フィールドを設定します。プロットを制御するには,名前と値のペアの引数'hyperparameteroptimizationOptions'
のShowPlots
フィールドを設定します。
たとえば,あてはめた资讯分類器の最適化を参照してください。
例:“汽车”
HyperparameterOptimizationOptions
- - - - - -最適化のオプション最適化のオプション。'hyperparameteroptimizationOptions'
と構造体から構成されるコンマ区切りのペアとして指定します。この引数を指定すると,名前と値のペアの引数OptimizeHyperparameters
の効果が変化します。この構造体のフィールドは,すべてオプションです。
フィールド名 | 値 | 既定の設定 |
---|---|---|
优化器 |
|
“bayesopt” |
获取功能名称 |
オブジェクト関数のランタイムによって最適化が異なるので,名前に |
“expected-improvement-per-second-plus” |
maxobjectiveevaluations |
目的関数評価の最大的数。 | “bayesopt” または“randomsearch” の结合は30. 、“gridsearch” の場合はグリッド全体 |
MaxTime |
制限時間。正の実数を指定します。制限時間の単位は, |
正 |
NumGridDivisions |
“gridsearch” 値は,各次元の値の,またはすべて次元に整されるが场ですですれるカテゴリカルの场です。。 |
10. |
ShowPlots |
プロットを表示するかどうかを示す論理値。真的 の場合,最良の目的関数の値が反復回数に対してプロットされます。1つまたは2つの最適化パラメーターがあり,优化器 が“bayesopt” である場合,ShowPlots はパラメーターに対する目的关键词 |
真的 |
SaveIntermediateResults |
优化器 が“bayesopt” である場合に結果を保存するかどうかを示す論理値。真的 の場合,'贝叶特遗露' という名前のワークスペース変数が反復ごとに上書きされます。この変数はBayesianOptimization オブジェクトです。 |
假 |
详细的 |
コマンドラインへの表示。
詳細については, |
1 |
UseParallel |
ベイズ最適化を並列実行するかどうかを示す論理値。並列実行には并行计算工具箱™が必要です。並列でのタイミングに再現性がないため,並列ベイズ最適化で再現性のある結果が生成されるとは限りません。詳細については,並列ベイズ最適化を参照してください。 | 假 |
重新分区 |
反复ごとに交差検证を再分割するかどうかを示す论理値。 分割ノイズが考慮されるので,通常は |
假 |
以下の3つのフィールド名は1つだけ使用できます。 | ||
CVPartition. |
cvpartition によって作成されるcvpartition オブジェクト。 |
交差検証フィールドが指定されていない場合“Kfold”,5 |
坚持 |
ホールドアウトの比率を表す範囲(0,1) のスカラー。 |
|
Kfold |
1より大きい整数。 |
例:“HyperparameterOptimizationOptions”、结构(MaxObjectiveEvaluations, 60)
データ型:结构体
Mdl
——学習済みのk最近傍分類モデルClassificationKNN
モデルオブジェクト|ClassificationPartitionedModel
交差検証済みモデルオブジェクト学習済みのk最近傍分類モデル。ClassificationKNN
モデルオブジェクトまたはClassificationPartitionedModel
交差検証済みモデルオブジェクトとして返されます。
名称とと値ののペアのkfold.
、坚持
、CrossVal
、CVPartition.
のいずれかを設定した場合,Mdl
はClassificationPartitionedModel
交差検証済みモデルオブジェクトになります。それ以外の場合,Mdl
はClassificationKNN
モデルオブジェクトになります。
Mdl
のプロパティを参照するには,ドット表記を使用します。たとえば,コマンド ウィンドウで距離計量を表示するには、mdl.distance.
を入力します。
モデルに学習をさせた後で,新しいデータについてラベルを予測するC / c++コードを生成できます。C / c++コードの生成にはMATLAB编码器™が必要です。詳細については、コード生成の紹介を参照してください。
nan
または<定义>
は観測値の欠損を示します。以下はデータセットまたは重みに欠損した観測がある場合のFitcknn.
の動作を説明します。
Y
の任意の値または重みににがある场合书,Fitcknn.
はこれらの値をY
から削除し,重みおよび対応するX
の行をデータから削除します。重みは再度正規化され,合計は1
になります。
予测子(“标准化”,1
)または標準化されたユークリッド距離(“距离”、“seuclidean”
)にスケーリングなしの標準化を指定する場合,Fitcknn.
は平均と標準偏差を計算する前に,欠損した観測値を各予測子から削除します。つまり,ソフトウェアは,的意思是
およびSTD.
を各予測子で“omitnan”
オプションを使用して実装します。
共分散行列を使用せずにマハラノビス距離(“距离”、“mahalanbois”
)を指定する場合,Fitcknn.
によって少なくとも1つの欠損値を含むX
の行が削除されます。つまり,ソフトウェアは、浸
をを子行程X
で'omatrows'
オプションを使用して実装します。
“标准化”,1
を設定すると仮定します。
规模
および之前
または权重
のいずれかを指定する場合,観測された距離は加重標準偏差でスケーリングされます。
浸
および之前
または权重
のいずれかを指定する場合,加重共分散行列が距離に適用されます。つまり,次のようになります。
ここでBは観測値xjに欠損値がなくwjが欠損していないインデックスjの集合です。
Fitcknn.
はマルチクラス资讯分類器を学習させることができます。また,fitcecoc
をを使し,マルチクラス学习问题をのknnバイナリ学仪。
ハイパーパラメーターの最適化を並列実行するには,この関数を呼び出すときに名前と値の引数'hyperparameteroptimizationoptions',struct('deverpecallellel',true)
を指定します。
並列的なハイパーパラメーターの最適化の詳細については,並列ベイズ最適化を参照してください。
並列計算の全般的な情報については,自動並列サポートを使用したMATLAB関数の実行(并行计算工具箱)を参照してください。
使用上の注意事項および制限事項:
既定では,Fitcknn.
は,GPUARRAY.
の入力引数に対して网罗的最近傍探索アルゴリズムを使用します。
名前と値の引数“NSMethod”
を“kdtree”
として指定することはできません。
名前と値の引数'距离'
を関数ハンドルとして指定することはできません。
Fitcknn.
は,次の場合にのみGPU配列の入力引数を使ってあてはめられた分類モデルを返します。
入力数X
がGPUARRAY.
である。
入力数TBL.
にGPUARRAY.
要素が含まれている。
詳細は,GPUでのMATLAB関数の実行(并行计算工具箱)を参照してください。
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。