主要内容

ClassificationPartitionedKernelECOC

マルチクラス分類用の交差検証済みカ,ネル誤り訂正出力符号(ecoc)モデル

説明

ClassificationPartitionedKernelECOCは,交差検証分割に対して学習をさせたカーネル分類モデルから構成される誤り訂正出力符号(ECOC)モデルです。“kfold”関数kfoldPredictkfoldLosskfoldMarginkfoldEdgeを1以上使用する交差検証により,分類の品質を推定します。

すべての“kfoldメソッドでは,学習分割(分割内)観測値で学習をさせたモデルを使用して,検証分割(分割外)観測値に対する応答を予測します。たとえば,デ,タを5に分割して交差検証を行うとします。。"学習分割"にはグルプのう4(デタの約4/5)が含まれ,"検証分割"には残りのグル,プ(デ,タの約1/5)が含まれます。この場合,交差検証は次のように処理されます。

  1. CVMdl。Trained{1}に格納されている)1番目のモデルの学習には最後の4つのグループの観測値が使用され,1番目のグループの観測値は検証用に確保されます。

  2. CVMdl。Trained{2}に格納されている)2番目のモデルの学習には,1番目のグループと最後の3つのグループの観測値が使用されます。2番目のグル,プの観測値は,検証用に予約されます。

  3. 3番目,4番目および5番目のモデルに対しても同様に続けられます。

kfoldPredictを使用して検証する場合,我番目のモデルを使用してグループ我の観測値について予測が計算されます。つまり,それぞれの観測値に対する応答は,その観測値を使用せずに学習させたモデルによって推定されます。

メモ

ClassificationPartitionedKernelECOCモデルオブジェクトに予測子デ,タセットは格納されません。

作成

ClassificationPartitionedKernelECOCモデルは,fitcecocを使用し,以下の名前と値のペアの引数を指定して,ECOCモデルに学習をさせることにより作成できます。

  • “学习者”-値を“内核”templateKernelが返すテンプレートオブジェクト,またはこのようなテンプレートオブジェクトの细胞配列に設定します。

  • 引数“CrossVal”“CVPartition”“坚持”“KFold”“Leaveout”のいずれか。

詳細は,fitcecocを参照してください。

プロパティ

すべて展開する

交差検証のプロパティ

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

交差検証済みモデルの名前。文字ベクトルを指定します。

たとえば,“KernelECOC”は交差検証済みのカネルecocモデルを指定します。

デ,タ型:字符

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

交差検証分割の個数。正の整数スカラを指定します。

デ,タ型:

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

交差検証パラメ,タ,値。オブジェクトを指定します。パラメーター値は、ECOC 分類器の交差検証に使用した名前と値のペアの引数の値に対応します。推定されたパラメーターはModelParametersに含まれません。

ドット表記を使用してModelParametersのプロパティにアクセスできます。

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

学習デ,タに含まれている観測値の数。正の数値スカラ,を指定します。

デ,タ型:

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

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

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

交差検証分割で学習させたコンパクトな分類器。CompactClassificationECOCモデルのcell配列を指定します。训练有素的にはk個のセルがあります。Kは分割数です。

デ,タ型:细胞

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

モデルの交差検証に使用した観測値の重み。数値ベクトルを指定します。WにはNumObservations個の要素があります。

学習に使用する重みは正規化されsum (W, omitnan)1になります。

デ,タ型:|

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

モデルの交差検証に使用される,観測されたクラスラベル。分类配列、文字配列、逻辑ベクトル、数値ベクトル、または文字ベクトルのcell配列を指定します。YにはNumObservations個の要素があり,デ,タ型はモデルの交差検証を実行するためにfitcecocに渡した入力引数Yと同じです。(字符串配列は文字ベクトルのcell配列として扱われます)。

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

デ,タ型:分类|字符|逻辑|||细胞

Ecocのプロパティ

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

バ@ @ナリ学習器の損失関数。損失関数名を表す文字ベクトルを指定します。

既定では,すべてのバ支持向量机を使用するカ,ネル分類モデルである場合,BinaryLoss“枢纽”です。すべてのバナリ学習器がロジスティック回帰を使用するカネル分類モデルである場合,BinaryLoss“二次”です。精度が向上する可能性を高めるには,kfoldPredictまたはkfoldLossの名前と値の引数BinaryLossを使用して,予測または損失を計算するときに既定以外のバ。

サポトされるバナリ損失関数のリストにいては,バ@ @ナリ損失を参照してください。

デ,タ型:字符

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

バ@ @ナリ学習器クラスラベル。数値行列または[]として指定します。

  • すべての分割で符号化行列が同じである場合,BinaryYNumObservations行l列の行列になります。Lはバepナリ学習器の個数(大小(CodingMatrix, 2))です。

    BinaryYの要素は101であり,値は二分法によるクラス割り当てに対応します。次の表に,学習器jが観測値kBinaryY (k, j)の値に対応する二分クラスに割り当てる方法を示します。

    二分法によるクラス割り当て
    1 学習器jは,観測値kを陰性クラスに割り当てます。
    0 学習の前に,学習器jは観測値kをデ,タセットから削除します。
    1 学習器jは,観測値kを陽性クラスに割り当てます。

  • 符号化行列が分割全体で異なる場合,BinaryYは空([])です。

デ,タ型:

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

バ▪▪ナリ学習器のクラス割り当てを指定するコ▪▪ド。数値行列または[]として指定します。

  • すべての分割で符号化行列が同じである場合,CodingMatrixはk行l列の行列になります。Kはクラスの個数,lはバナリ学習器の個数です。

    CodingMatrixの要素は101であり,値は二分法によるクラス割り当てに対応します。次の表に,学習器jがクラスの観測値をCodingMatrix (i, j)の値に対応する二分クラスに割り当てる方法を示します。

    二分法によるクラス割り当て
    1 学習器jは,クラスの観測値を陰性クラスに割り当てます。
    0 学習の前に,学習器jはクラスの観測値をデ,タセットから削除します。
    1 学習器jは,クラスの観測値を陽性クラスに割り当てます。

  • 符号化行列が分割全体で異なる場合,CodingMatrixは空([])です。训练有素的プロパティを使用することにより,各分割の符号化行列を取得できます。たとえば,CVMdl.Trained {1} .CodingMatrixは,交差検証されたecocモデルCVMdlの最初の分割の符号化行列です。

デ,タ型:||int8|int16|int32|int64

他の分類のプロパティ

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

カテゴリカル予測子の@ @ンデックス。正の整数のベクトルとして指定します。CategoricalPredictorsには,対応する予測子がカテゴリカルであることを示す。ンデックス値の範囲は1 ~pです。pはモデルの学習に使用した予測子の数です。どの予測子もカテゴリカルではない場合、このプロパティは空([])になります。

デ,タ型:|

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

学習で使用する一意なクラスラベル。分类配列、文字配列、逻辑ベクトル、数値ベクトル、または文字ベクトルのcell配列を指定します。一会は,観測されたクラスラベルプロパティYと同じデ,タ型であり,クラスの順序を決定します。

デ,タ型:分类|字符|逻辑|||细胞

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

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

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

デ,タ型:

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

予測子デ,タに現れる順序で並んでいる予測子名。文字ベクトルのcell配列として指定します。PredictorNamesの長さは,学習デ,タXまたは资源描述で予測子変数として使用される列の数と等しくなります。

デ,タ型:细胞

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

クラスの事前確率。之前の要素数は一会内のクラス数と同じであり,要素の順序は一会の要素に対応します。

デ,タ型:

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

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

デ,タ型:字符

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

カ,ネル分類モデルMdlの場合,スコアを変換前する前は,観測値x(行ベクトル)にいて予測される分類スコアは f x T x β + b です。

  • T · は特徴量を拡張するための観測値の変換です。

  • βは推定された係数の列ベクトルです。

  • Bは推定されたスカラバアスです。

CVMdlのスコア変換関数を函数などに変更するには,ドット表記を使用します。

  • 組み込み関数の場合,函数を表の値に置き換えて次のコ,ドを入力します。

    CVMdl。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®関数やユ,ザ,定義関数の場合は,関数ハンドルを入力します。

    CVMdl。ScoreTransform = @函数;

    函数は,各クラスの元のスコアの行列を受け入れて,各クラスの変換後のスコアを表す同じサイズの行列を返さなければなりません。

デ,タ型:字符|function_handle

オブジェクト関数

kfoldEdge 交差検証済みカネルecocモデルの分類エッジ
kfoldLoss 交差検証済みカネルecocモデルの分類損失
kfoldMargin 交差検証済みカネルecocモデルの分類マジン
kfoldPredict 交差検証済みカネルecocモデルの観測値の分類

すべて折りたたむ

fitcecocを使用して,交差検証済みのマルチクラスカ,ネルecoc分類モデルを作成します。

フィッシャ,のアヤメのデ,タセットを読み込みます。Xには花の測定値が,Yには花の種類の名前が格納されています。

负载fisheririsX = meas;Y =物种;

花の測定値に基づいて花の種類を識別できるマルチクラスカーネルECOC分類モデルを交差検証します。

rng (1);%用于再现性CVMdl = fitcecoc(X,Y,“学习者”“内核”“CrossVal”“上”
CVMdl = ClassificationPartitionedKernelECOC CrossValidatedModel: 'KernelECOC' ResponseName: 'Y' NumObservations: 150 KFold: 10 Partition: [1x1 cvpartition] ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none'属性,方法

CVMdlは交差検証済みClassificationPartitionedKernelECOCモデルです。既定では,fitcecocは10分割交差検証を実施します。したがって,各分割にいて1ず,10個のCompactClassificationECOCモデルから成る10行1列のcell配列がCVMdl。Trainedに格納されます。コンパクトな各ecocモデルは,バeconcナリカ,ネル分類モデルから構成されています。

CVMdlkfoldLossに渡して,分類誤差を推定します。

error = kfoldLoss(CVMdl)
错误= 0.0333

推定された分類誤差は,約3%の誤分類観測値です。

カーネル分類モデルから構成されるECOCモデルに学習をさせるときの既定オプションを変更するには,templateKernelを使用してカ,ネル分類モデルテンプレ,トを作成し,このテンプレ,トをfitcecocに渡します。

バ,ジョン履歴

R2018bで導入