主要内容

このページ最新ではありませ。をクリックし,英语のの最新版版を参照参照し。

ClassificationPartitionedLinear

パッケージ:classReg.Learning.partition
スーパークラス:ClassificationPartitionedModel

高次元データのバイナリ分類用の交差検証済み線形モデル

説明

ClassificationPartitionedLinearは、交差検証分割で学習を行った一連の線形分類モデルです。交差検証済みの線形分類モデルを取得するには、fitclinearを使用して交差検証オプションのいずれかを指定します。分類の品質や、線形分類モデルがどの程度一般化を行うかは、kfold メソッドkfoldpredictkfoldLosskfoldmarginkfoldEdgeを 1 つ以上使用して評価できます。

“ kfold”メソッドメソッドは学习用の観测値でたたモデルモデルを使用使用使用して,学习学习用用データデータににははないない観测観测値値に対するに対するに対する応答をを予测予测を行うますこの场合,観测観测値はははつのほぼ等しいサイズののグループにに无作为にに。。。"学習用分割"にはグループのうち 4 つ (すなわち、データの約 4/5) が含まれ、“検定用”には残りのグループ (すなわち、データの約 1/5) が含まれます。この場合、交差検証は次のように処理されます。

  1. CVMDL.Trained{1}に保存れ最初最初モデルモデルは后のののグループ観测値値によって学习さされれ,最初のグループのの観测観测観测値値値

  2. 1番目グループ最后ののつのグループの値使用使用し,CVMDL.Trained{2}2番目さ番目のモデルにさます。。番目番目グループの観测値はは,検证検证用に予约予约

  3. 3 ~ 5 番目のモデルについて同様の処理が行われます。

kfoldpredictを呼び出して検証する場合、最初のモデルを使用してグループ 1 の観測に対する予測が計算され、2 番目のモデルにはグループ 2 が計算され、以降同様です。つまり、それぞれの観測値に対する応答は、その観測値ではなく学習したモデルによって推定されます。

メモ

ClassificationPartitionedLinearモデルオブジェクト予测子セットはされません。

构筑

cvmdl = fitclinear(x,y,name,value)は、姓名'CrossVal''cvpartition''坚持'または'kfold'のいずれかである場合に、交差検証済みの線形分類モデルを作成します。詳細は、fitclinearを参照しください。

プロパティ

すべて展开する

交差検証のプロパティ

交差検证の名前文字ベクトルをし。。。

たとえば,'Linear'はバイナリ回帰について検证済みのモデル指定指定します。

データ::char

交差検证れた分割数数。正の整数で指定します。

データ::双倍的

交差検証のパラメーター値 (線形モデルの交差検証に使用する名前と値のペアの引数など)。オブジェクトを指定します。推定したパラメーターはModelParametersに格納されません。

ModelParametersのプロパティにはドット表記でアクセスします。

学习データれいる観测値の。の数値スカラーをします。

データ::双倍的

データを交差検証分割に分割する方法を含むデータ分割。cvpartitionモデルとして指定します。

交差検証分割で学習を行った線形分類モデル。ClassificationLinearモデル细胞配列配列としてし。。。。训练有素には k 個のセルがあります。k は分割数です。

データ::cell

モデルのに使用た観测値重み数値ベクトルを指定します。WにはNumObservations个のがあります。

Wは,に含まているの重み合计がそのクラスクラスの事前确率にになるようにに正规正规正规。

データ::single|双倍的

モデルのに使用される,観测されたクラスラベルラベルラベル。。。。。。。1YにはNumObservations個の要素があり、データ型はモデルの交差検証を実行するためにfitclinearに渡した入力引数Yと同じです。(字符串配列配列文字のの配列配列扱われ)。

Yの各行は、予測子データの対応する観測値の観測された分類を表します。

データ::分类|char|logical|single|双倍的|cell

他の分类プロパティ

カテゴリカル予測子のインデックス。正の整数のベクトルとして指定します。予測子データの行に観測値が含まれていると仮定すると、分类预期にはカテゴリカル含まれている予测子のに対応するするインデックス値値値が格纳格纳格纳さされれ。。どのどのどの予测予测予测子子子子子もももカテゴリカル[]) になります。

データ::single|双倍的

学习でするなクラスラベル。。。。配列配列,,,,,,,,,ベクトルベクトルベクトル,数値ベクトルベクトル,またはまたは文字文字文字ベクトルベクトルののののののClassNamesのデータ型クラスラベルYと同じです。(字符串配列配列文字のの配列配列扱われ)。ClassNamesはクラス顺序も决定。。

データ::分类|char|logical|single|双倍的|cell

このプロパティは読み取り専用です。

誤分類のコスト。正方数値行列として指定します。成本にk个のおよび列が,,,,はクラス数。。。

成本(i,j)は、真のクラスがiである点をクラスjに分类するです。成本の行と列の順序は、ClassNamesのクラスの順序に対応します。

データ::双倍的

予測子データに現れる順序で並んでいる予測子名。文字ベクトルの cell 配列として指定します。预测器の长は予测子変数使用される学习データXまたはTBLに含まれている変数の数と等しくなります。

データ::cell

このプロパティは読み取り専用です。

前のクラス确率。数値ベクトルとして指定します。Priorには,ClassNamesのクラスと同数の要素があり、その順序はClassNamesの要素と一致します。

データ::双倍的

応答変数名。文字ベクトルを指定します。

データ::char

予測されたスコアに適用するスコア変換関数。関数名または関数ハンドルを指定します。

线形値値値値x(行値)について値についてされるf(x)=xβ + bになります。β と b はそれぞれMdl.BetaMdl.Biasに対応し。

スコア変换关数をfunctionなどににはドット表记をし。。。

  • 組み込み関数の場合、functionを表値置き换え次のコード入力します。

    Mdl.ScoreTransform = 'function';

    説明
    'doublelogit' 1/(1 + E–2x)
    “ Invlogit” log(x / (1 – x))
    'ismax' 最大のもつクラススコアスコアををににし,のすべてののクラスののののスコアスコアをををををををををする
    'logit' 1/(1 + E-X)
    'none'または'身份' x(変换なし)
    '符号' x < 0 のとき –1
    x = 0 のとき 0
    x > 0 のとき 1
    “对称” 2x - 1
    “对称性” 最大のスコアをもつクラスのスコアを 1 に設定し、他のすべてのクラスのスコアを –1 に設定する
    “ Symmetriclogit” 2/(1 + e-X) – 1

  • MATLAB®关数や定义场合は,关数を入力します。

    Mdl.ScoreTransform = @function;

    functionは,ののスコア行列行列,クラスのの変换后ののスコアを表す同じサイズサイズのの行列行列行列を

データ::char|function_handle

メソッド

kfoldEdge 学习でしない値の分类エッジ
kfoldLoss 学习でしない値の分类损失
kfoldmargin 学習で使用しない観測値の分類マージン
kfoldpredict 学习でし観测値のラベル予测予测

コピーのセマンティクス

値。値のクラスがコピー操作に与える影響については、オブジェクトのコピーを参照しください。

すべて折りたたむ

nlpのデータをます。。

loadnlpdata

Xは予測子データのスパース行列、Yはクラス ラベルの categorical ベクトルです。データには 2 つを超えるクラスがあります。

统计和机器学习工具箱™ のドキュメンテーション Web ページに対応するラベルを特定します。

ystats = y ==“统计”;

あるドキュメンテーション Web ページの単語数が Statistics and Machine Learning Toolbox™ ドキュメンテーションによるものであるかどうかを識別できるバイナリ線形分類モデルの交差検証を行います。

RNG(1);%可再现性cvmdl = fitclinear(x,ystats,'CrossVal','on')
CVMDL = ClassificationPartitionEdlineAR crossValidatedModel:'Linear'响应名称:'y'numObservations:31572 kfold:10分区:[1x1 cvPartition] classNames:[0 1] scoretransform:scoretransform:'nonne'''属性,方法,方法,方法,方法,方法

CVMDLは、ClassificationPartitionedLinear交差検证モデル。既定の设定ははfitclinearは 10 分割の交差検証を実装するので、CVMDL.Trainedには 10 個のClassificationLinearモデルがており,のの各についてについて线形分类モデルの学习をを行った结果结果が格纳格纳格纳ささ

CVMDLkfoldpredictに渡して外観测値のを推定し,kfoldLossに渡して汎化誤差を推定します。

ooflabels = kfoldpredict(cvmdl);ge = kfoldloss(cvmdl)
GE = 7.6017E-04

推定さ泛化误差は,误分类観测値ののののののののののののののの

ロジスティック回帰学習器を使用する線形分類モデルに適した LASSO ペナルティの強度を決定するため、5 分割の交差検証を実装します。

nlpのデータをます。。

loadnlpdata

Xは予測子データのスパース行列、Yはクラス ラベルの categorical ベクトルです。データには 2 つを超えるクラスがあります。

モデルでは、ある Web ページの単語数が Statistics and Machine Learning Toolbox™ ドキュメンテーションによるものであるかどうかを識別できなければなりません。したがって、Statistics and Machine Learning Toolbox™ のドキュメンテーション Web ページに対応するラベルを識別します。

ystats = y ==“统计”;

1 0 - 6 1 0 - 0 . 5 の范囲间隔で配置されたたた个个正则强度を作成作成し。

Lambda = logspace(-6,-0.5,11);

モデル交差ます。実行をさせるせるため,,を転置転置しし,,,,観测観测観测観测値値値ががが列列列単位単位単位であるであるであることs许容误差を1E-8に下げます。

x = x';RNG(10);%可再现性cvmdl = fitclinear(x,ystats,“观察”,'columns','kfold',5,...'Learner','logistic','Solver','sparsa','Regularization','lasso',...'Lambda',Lambda,“梯度耐受”,1e-8)
cvmdl =分类部门跨性跨validatedModel:'linear'响应名称:'y'numObservations:31572 kfold:5分区:[1x1 cvPartition] classNames:[0 1] scoretransform:scoretransform:'nonne'''属性,方法,方法,方法,方法,方法
numCLModels = numel(CVMdl.Trained)
numClmodels = 5

CVMDLClassificationPartitionedLinearモデルです。fitclinear5分割分割検证実装するので,分割について学习ささせるせるせるののののClassificationLinearモデルがCVMDLに格納されます。

1 番目の学習済み線形分類モデルを表示します。

Mdl1 = CVMdl.Trained{1}
Mdl1 = ClassificationLinear ResponseName: 'Y' ClassNames: [0 1] ScoreTransform: 'logit' Beta: [34023x11 double] Bias: [1x11 double] Lambda: [1x11 double] Learner: 'logistic' Properties, Methods

Mdl1ClassificationLinearモデル オブジェクトです。fitclinearは最初の 4 つの分割に対して学習を行うことによりMdl1を构筑した。Lambdaは正则强度のシーケンス,,Mdl1はそれぞれがLambdaの各正則化強度に対応する 11 個のモデルであると考えることができます。

交差検証分類誤差を推定します。

ce = kfoldLoss(CVMdl);

11 個の正則化強度があるので、ceは 1 行 11 列の分類誤差率のベクトルです。

Lambdaのがなる,予测子がスパースになります。分类分类器器のの品质品质品质としてとして优れていいますます。。データデータセットセット全体全体をを使用使用しししし,モデル交差検证検证検证検证正则化分类モデルにをせます。ごとに非非ゼロのの系数をを特定。

Mdl = fitclinear(X,Ystats,“观察”,'columns',...'Learner','logistic','Solver','sparsa','Regularization','lasso',...'Lambda',Lambda,“梯度耐受”,1e-8); numNZCoeff = sum(Mdl.Beta~=0);

同じ図各则化强度についての検证误差と非ゼロ系数系数のの频度频度をプロットします。。すべてすべてののの変数変数

figure; [h,hL1,hL2] = plotyy(log10(Lambda),log10(ce),...log10(lambda),log10(numnzcoeff));hl1.marker ='o'; hL2.Marker ='o'; ylabel(h(1),'log_ {10}分类错误') ylabel(h(2),'log_ {10}非零频率频率') xlabel('log_{10} Lambda') 标题(“测试样本统计”) holdoff

图包含2个轴。带有标题测试样本统计信息的Axes 1包含类型线的对象。轴2包含类型线的对象。

予測子変数のスパース性と分類誤差の低さのバランスがとれている正則化強度のインデックスを選択します。この場合、 1 0 - 4 1 0 - 1 の値十分なはず。。

idxFinal = 7;

选択し正则化强度ををMdlから選択します。

MdlFinal = selectModels(Mdl,idxFinal);

MdlFinal1つのつの化が含まれているいるClassificationLinearモデルです観测値ラベルを推定に,,,MdlFinalと新しいデータをpredictに渡します。

R2016Aで导入