このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
ClassificationPartitionedLinearECOC
パッケ,ジ:classreg.learning.partition
ス,パ,クラス:ClassificationPartitionedModel
高次元デ,タのマルチクラス分類用の交差検証済み線形誤り訂正出力符号モデル
説明
ClassificationPartitionedLinearECOC
は,交差検証分割で学習を行った,線形分類モデルから構成される一連の誤り訂正出力符号(ECOC)モデルです。Kfold関数kfoldPredict
、kfoldLoss
、kfoldMargin
、kfoldEdge
を1以上使用する交差検証により,分類の品質を評価します。
すべての“kfoldメソッドでは,学習用データの観測値で学習したモデルを使用して,学習用データにはない観測値に対する応答を予測します。たとえば,デ,タを5に分割して交差検証を行うとします。この場合,各観測は5のほぼ等しいサ。"学習用分割"にはグルプのう4(すなわ,デタの約4/5)が含まれ,"検定用分割"には残りのグル,プ(すなわ,デ,タの約1/5)が含まれます。この場合,交差検証は次のように処理されます。
CVMdl。训练有素的{1}
に保存されている最初のモデルは,後の4グループの観測値によって学習され,最初のグループの観測値を検証用に保存します。1番目のグル,プと最後の3,のグル,プの観測値を使用して2,番目のモデル(
CVMdl。训练有素的{2}
に格納)に学習させます。2番目のグループの観測値は、検証用に予約されます。3番目,4番目および5番目のモデルに対しても同様に続けられます。
kfoldPredict
を呼び出して検証する場合,最初のモデルを使用してグループ1の観測に対する予測が計算され,2番目のモデルにはグループ2が計算され,以降同様です。まり,それぞれの観測値に対する応答は,その観測値ではなく学習したモデルによって推定されます。
メモ
ClassificationPartitionedLinearECOC
モデルオブジェクトに予測子デ,タセットは格納されません。
構築
CVMdl = fitcecoc(X,Y,'学习者',t,名称,值)
は,次の場合に交差検証済みの線形ecocモデルを返します。
t
が“线性”
であるか,templateLinear
によって返されるテンプレ,トオブジェクトである。名字
が“CrossVal”
、“CVPartition”
、“坚持”
または“KFold”
のいずれかである。
詳細は,fitcecoc
を参照してください。
プロパティ
CrossValidatedModel
- - - - - -交差検証されたモデル名
文字ベクトル
交差検証済みモデルの名前。文字ベクトルを指定します。
たとえば,“ECOC”
は交差検証されたecocモデルを指定します。
デ,タ型:字符
KFold
- - - - - -交差検証された分割の数
正の整数
交差検証された分割の数。正の整数で指定します。
デ,タ型:双
ModelParameters
- - - - - -交差検証パラメ,タ,値
オブジェクト
交差検証パラメ,タ,値。Ecoc分類器の交差検証に使用する名前と値のペアの引数の値など。オブジェクトとして指定します。ModelParameters
には推定されたパラメ,タ,は格納されません。
ModelParameters
のプロパティにはドット表記でアクセスします。
NumObservations
- - - - - -観測値の数
正の数値スカラ
学習デ,タに含まれている観測値の数。正の数値スカラ,を指定します。
デ,タ型:双
分区
- - - - - -デ,タ分割
cvpartition
モデル
デ,タを交差検証分割に分割する方法を含むデ,タ分割。cvpartition
モデルとして指定します。
训练有素的
- - - - - -交差検証分割で学習させたコンパクトな分類器
CompactClassificationECOC
モデルのcell配列
交差検証分割で学習させたコンパクトな分類器。CompactClassificationECOC
モデルのcell配列を指定します。训练有素的
にはk個のセルがあります。Kは分割数です。
デ,タ型:细胞
W
- - - - - -観測値の重み
数値ベクトル
モデルの交差検証に使用した観測値の重み。数値ベクトルを指定します。W
にはNumObservations
個の要素があります。
学習に使用する重みは正規化されsum (W, omitnan)
は1
になります。
デ,タ型:单
|双
Y
- - - - - -観測されたクラスラベル
分类配列|文字配列|逻辑ベクトル|数値ベクトル|文字ベクトルのcell配列
モデルの交差検証に使用される,観測されたクラスラベル。分类配列、文字配列、逻辑ベクトル、数値ベクトル、または文字ベクトルのcell配列を指定します。Y
にはNumObservations
個の要素があり,デ,タ型はモデルの交差検証を実行するためにfitcecoc
に渡した入力引数Y
と同じです。(字符串配列は文字ベクトルのcell配列として扱われます)。
Y
の各行は,予測子デ,タの観測値の観測された分類を表します。
デ,タ型:字符
|细胞
|分类
|逻辑
|单
|双
BinaryY
- - - - - -バ@ @ナリ学習器クラスラベル
数値行列|[]
バ@ @ナリ学習器クラスラベル。数値行列または[]
として指定します。
コ,ディング行列が分割全体で同一である場合,
BinaryY
はNumObservations
行l列の行列であり,lはバ大小(CodingMatrix, 2)
)です。BinaryY
の要素は-1
、0
または1
で,値は二分法によるクラス割り当てに対応します。次の表に,学習器j
が観測値k
をBinaryY (k, j)
の値に対応する二分クラスに割り当てる方法を示します。値 二分法によるクラス割り当て 1
学習器 j
は,観測値k
を陰性クラスに割り当てます。0
学習の前に,学習器 j
は観測値k
をデ,タセットから削除します。1
学習器 j
は,観測値k
を陽性クラスに割り当てます。コ,ディング行列が分割全体で異なる場合,
BinaryY
は空([]
)です。
デ,タ型:双
CodingMatrix
- - - - - -クラス割り当てを指定するコ,ド
数値行列|[]
バ▪▪ナリ学習器のクラス割り当てを指定するコ▪▪ド。数値行列または[]
として指定します。
符号化行列が分割全体で同じである場合,
CodingMatrix
はk行l列の行列です。Kはクラスの数,lはバナリ学習器の数です。CodingMatrix
の要素は-1
、0
または1
で,値は二分法によるクラス割り当てに対応します。次の表に,学習器j
がクラス我
の観測値をCodingMatrix (i, j)
の値に対応する二分クラスに割り当てる方法を示します。値 二分法によるクラス割り当て 1
学習器 j
は,クラス我
の観測値を陰性クラスに割り当てます。0
学習の前に,学習器 j
はクラス我
の観測値をデ,タセットから削除します。1
学習器 j
は,クラス我
の観測値を陽性クラスに割り当てます。コ,ディング行列が分割全体で異なる場合,
CodingMatrix
は空([]
)です。各分割のコーディング行列を、训练有素的
を用いて取得します。たとえば,CVMdl.Trained {1} .CodingMatrix
は,交差検証されたecocモデルCVMdl
の最初の分割のコ,ディング行列です。
デ,タ型:双
|单
|int8
|int16
|int32
|int64
CategoricalPredictors
- - - - - -カテゴリカル予測子の@ @ンデックス
正の整数のベクトル|[]
カテゴリカル予測子の@ @ンデックス。正の整数のベクトルとして指定します。CategoricalPredictors
には,対応する予測子がカテゴリカルであることを示す。ンデックス値の範囲は1 ~p
です。p
はモデルの学習に使用した予測子の数です。どの予測子もカテゴリカルではない場合、このプロパティは空([]
)になります。
デ,タ型:单
|双
一会
- - - - - -一意のクラスラベル
分类配列|文字配列|逻辑ベクトル|数値ベクトル|文字ベクトルのcell配列
学習で使用する一意なクラスラベル。分类配列、文字配列、逻辑ベクトル、数値ベクトル、または文字ベクトルのcell配列を指定します。一会
のデ,タ型はクラスラベルY
と同じです。(字符串配列は文字ベクトルのcell配列として扱われます)。一会
はクラスの順序も決定します。
デ,タ型:分类
|字符
|逻辑
|单
|双
|细胞
成本
- - - - - -誤分類のコスト
正方数値行列
このプロパティは読み取り専用です。
誤分類のコスト。正方数値行列として指定します。成本
にはk個の行および列が含まれ,kはクラスの数です。
成本(i, j)
は,真のクラスが我
である点をクラスj
に分類するコストです。成本
の行と列の順序は,一会
のクラスの順序に対応します。
fitcecoc
は,異なるタaaplプのバaaplナリ学習器に異なる誤分類のコストを組み込みます。
デ,タ型:双
PredictorNames
- - - - - -予測子名
文字ベクトルのcell配列
予測子デ,タに現れる順序で並んでいる予測子名。文字ベクトルのcell配列として指定します。PredictorNames
の長さは,予測子変数として使用される学習デ,タX
または资源描述
に含まれている変数の数と等しくなります。
デ,タ型:细胞
之前
- - - - - -前のクラスの確率
数値ベクトル
このプロパティは読み取り専用です。
クラスの事前確率。数値ベクトルを指定します。之前
の要素数は一会
のクラス数と同じであり,要素の順序は一会
内のクラスの順序に対応します。
fitcecoc
は,異なるタaaplプのバaaplナリ学習器に異なる誤分類のコストを組み込みます。
デ,タ型:双
ResponseName
- - - - - -応答変数名
文字ベクトル
応答変数名。文字ベクトルを指定します。
デ,タ型:字符
ScoreTransform
- - - - - -スコア変換関数
“doublelogit”
|“invlogit”
|“ismax”
|分对数的
|“没有”
|関数ハンドル|……
予測されたスコアに適用するスコア変換関数。関数名または関数ハンドルを指定します。
線形分類モデルで変換前の場合,観測値x(行ベクトル)にいて予測される分類スコアはF (x) = xβ + bになります。βとbはそれぞれMdl。β
とMdl。偏见
に対応します。
スコア変換関数を函数
などに変更するには,ドット表記を使用します。
組み込み関数の場合,
函数
を表の値に置き換えて次のコ,ドを入力します。Mdl。ScoreTransform = '函数';
値 説明 “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のとき“对称”
2x - 1 “symmetricismax”
最大のスコアをも1に設定し,他のすべてのクラスのスコアを-1に設定する “symmetriclogit”
2/(1 + e- x) - 1 MATLAB®関数やユ,ザ,定義関数の場合は,関数ハンドルを入力します。
Mdl。ScoreTransform = @函数;
函数
は,各クラスの元のスコアの行列を受け入れて,各クラスの変換後のスコアを表す同じサイズの行列を返さなければなりません。
デ,タ型:字符
|function_handle
メソッド
kfoldEdge | 学習で使用しない観測値の分類エッジ |
kfoldLoss | 学習で使用しない観測値の分類損失 |
kfoldMargin | 学習で使用しない観測値の分類マ,ジン |
kfoldPredict | 学習で使用しない観測値のラベルの予測 |
コピ,のセマンティクス
値。値のクラスがコピー操作に与える影響については、オブジェクトのコピを参照してください。
例
交差検証済みマルチクラス線形分類モデルの作成
NLPのデ,タセットを読み込みます。
负载nlpdata
X
は予測子デ,タのスパ,ス行列,Y
はクラスラベルの分类ベクトルです。
あるドキュメンテーションWebページがどのMATLAB®ツールボックスによるものであるかをページの単語数に基づいて識別できるマルチクラスの線形分類モデルを交差検証します。
rng (1);%用于再现性CVMdl = fitcecoc(X,Y,“学习者”,“线性”,“CrossVal”,“上”)
CVMdl = ClassificationPartitionedLinearECOC CrossValidatedModel: 'LinearECOC' ResponseName: 'Y' NumObservations: 31572 KFold: 10 Partition: [1x1 cvpartition] ClassNames: [comm dsp ecoder fixedpoint…]属性,方法
CVMdl
は,ClassificationPartitionedLinearECOC
交差検証済みモデルです。既定の設定ではfitcecoc
は10分割の交差検証を実装するので,CVMdl。训练有素的
には10個のCompactClassificationECOC
モデルが含まれている10行1列の细胞ベクトルが格納されており,これらのモデルにはバイナリ線形分類モデルから構成されるECOCモデルの学習を各分割について行った結果が格納されています。
CVMdl
をkfoldPredict
に渡して分割外観測値のラベルを推定し,kfoldLoss
に渡して汎化誤差を推定します。
oofLabels = kfoldPredict(CVMdl);ge = kfoldLoss(cvdl)
Ge = 0.0958
推定された汎化誤差は,誤分類観測値の約10%です。
汎化誤差を改善するには,他のソルバ,(lbfgsなど)を試します。線形分類モデルから構成されるecocモデルに学習をさせるときの既定オプションを変更するには,templateLinear
を使用して線形分類モデルテンプレ,トを作成し,このテンプレ,トをfitcecoc
に渡します。
交差検証の使用による適切な套索ペナルティの特定
ロジスティック回帰学習器を使用する線形分類モデルから構成されるECOCモデルに適した套索ペナルティの強度を決定するため,5分割の交差検証を実装します。
NLPのデ,タセットを読み込みます。
负载nlpdata
X
は予測子デ,タのスパ,ス行列,Y
はクラスラベルの分类ベクトルです。
簡単にするため,“金宝app模型”
、“dsp”
、“通讯”
のいずれでもないY
の観測値すべてに対して“其他人”というラベルを使用します。
Y (~ (ismember (Y, {“金宝app模型”,“dsp”,“通讯”}))) =“别人”;
~ の範囲で対数間隔で配置された11個の正則化強度を作成します。
Lambda = logspace(-7,-2,11);
ロジスティック回帰学習器を使用するように指定する線形分類モデルテンプレ,トを作成し,λ
の強度をもつ套索ペナルティを使用し,SpaRSAを使用して学習させ,目的関数の勾配の許容誤差を1 e-8
に下げます。
t = templatlinear (“学习者”,“物流”,“规划求解”,“sparsa”,...“正规化”,“套索”,“λ”λ,“GradientTolerance”1 e-8);
モデルを交差検証します。実行速度を向上させるため,予測子デ,タを転置し,観測値が列単位であることを指定します。
X = X';rng (10);%用于再现性CVMdl = fitcecoc(X,Y,“学习者”t“ObservationsIn”,“列”,“KFold”5);
CVMdl
はClassificationPartitionedLinearECOC
モデルです。
CVMdl
および格納されている各モデルを分析します。
numECOCModels = nummel (CVMdl.Trained)
numECOCModels = 5
ECOCMdl1 = CVMdl。训练有素的{1}
ECOCMdl1 = CompactClassificationECOC ResponseName: 'Y' ClassNames: [comm dsp 金宝appsimulink others] ScoreTransform: 'none' BinaryLearners: {6×1 cell} CodingMatrix: [4×6 double]属性,方法
numCLModels = nummel (ECOCMdl1.BinaryLearners)
numCLModels = 6
CLMdl1 = ECOCMdl1。BinaryLearners {1}
CLMdl1 = ClassificationLinear ResponseName: 'Y' ClassNames: [-1 1] ScoreTransform: 'logit' Beta: [34023×11 double]偏差:[-0.3169 -0.3169 -0.3168 -0.3168 -0.3168 -0.3167 -0.1725 -0.0805 -0.1762 -0.3450 -0.5174]Lambda: [1.0000e-07 3.1623e-07 1.0000e-06 3.1623e-05 1.0000e-04 3.1623e-04 1.0000e-03 0.0032 0.0100]学习者:'logistic'属性,方法
fitcecoc
は5分割の交差検証を実装するので,各分割にいて学習させるCompactClassificationECOC
モデルから構成される5行1列のcell配列がCVMdl
に格納されます。各CompactClassificationECOC
モデルのBinaryLearners
プロパティにはClassificationLinear
モデルが格納されます。各コンパクト ECOC モデル内のClassificationLinear
モデルの数は,それぞれのラベルの数と符号化設計によって決まります。λ
は正則化強度のシ,ケンスなので,CLMdl1
はそれぞれがλ
の各正則化強度に対応する11個のモデルであると考えることができます。
各正則化強度について5分割分類誤差の平均をプロットすることにより,モデルがどの程度一般化を行うかを判断します。グリッド全体で汎化誤差を最小化する正則化強度を特定します。
ce = kfoldLoss(CVMdl);图;plot(log10(Lambda),log10(ce)) [~,minCEIdx] = min(ce);minLambda = Lambda(minCEIdx);持有在情节(log10 (minLambda) log10 (ce (minCEIdx)),“罗”);ylabel ('log_{10} 5倍分类错误')包含(“log_{10}λ的)传说(MSE的,“最小分类错误”)举行从
データセット全体を使用して線形分類モデルから構成されるECOCモデルに学習をさせ,最小の正則化強度を指定します。
t = templatlinear (“学习者”,“物流”,“规划求解”,“sparsa”,...“正规化”,“套索”,“λ”minLambda,“GradientTolerance”1 e-8);MdlFinal = fitcecoc(X,Y,“学习者”t“ObservationsIn”,“列”);
新しい観測値のラベルを推定するには,MdlFinal
と新しいデ,タを预测
に渡します。
バ,ジョン履歴
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。