メインコンテンツ

kfoldEdge

交差検証済みカーネル分類モデルの分類エッジ

説明

edge = kfoldEdge(CVMdl) は、交差検証済みのバイナリ カーネル モデル (ClassificationPartitionedKernel) CVMdl によって取得した分類エッジを返します。kfoldEdge は、すべての分割について、学習分割観測値に対して学習をさせたモデルを使用して、検証分割観測値の分類エッジを計算します。

edge = kfoldEdge(CVMdl,Name,Value) は、1 つ以上の名前と値のペアの引数で指定された追加オプションを使用して、分類エッジを返します。たとえば、分割数や集約レベルを指定します。

すべて折りたたむ

ionosphere データ セットを読み込みます。このデータ セットには、レーダー反射についての 34 個の予測子と、不良 ('b') または良好 ('g') というラベルが付いた 351 個の二項反応が含まれています。

load ionosphere

このデータを使用して、バイナリ カーネル分類モデルを交差検証します。

CVMdl = fitckernel(X,Y,'Crossval','on')
CVMdl = 
  ClassificationPartitionedKernel
    CrossValidatedModel: 'Kernel'
           ResponseName: 'Y'
        NumObservations: 351
                  KFold: 10
              Partition: [1×1 cvpartition]
             ClassNames: {'b'  'g'}
         ScoreTransform: 'none'


  Properties, Methods

CVMdlClassificationPartitionedKernel モデルです。既定では、10 分割交差検証が実行されます。異なる分割数を指定するには、'Crossval' ではなく名前と値のペアの引数 'KFold' を指定します。

交差検証分類エッジを推定します。

edge = kfoldEdge(CVMdl)
edge = 
1.5585

あるいは、kfoldEdge 内の名前と値のペアの引数 'Mode','individual' を指定することで各分割エッジを取得できます。

複数のモデルの k 分割エッジを比較することにより、特徴選択を実行します。この条件のみに基づくと、エッジが最高である分類器が最善の分類器となります。

ionosphere データ セットを読み込みます。このデータ セットには、レーダー反射についての 34 個の予測子と、不良 ('b') または良好 ('g') というラベルが付いた 351 個の二項反応が含まれています。

load ionosphere

予測子変数の半分を無作為に選択します。

rng(1); % For reproducibility
p = size(X,2); % Number of predictors
idxPart = randsample(p,ceil(0.5*p));

2 つのバイナリ カーネル分類モデルを交差検証します。1 つではすべての予測子を、もう 1 つでは半分の予測子を使用します。

CVMdl = fitckernel(X,Y,'CrossVal','on');
PCVMdl = fitckernel(X(:,idxPart),Y,'CrossVal','on');

CVMdl および PCVMdlClassificationPartitionedKernel モデルです。既定では、10 分割交差検証が実行されます。異なる分割数を指定するには、'Crossval' ではなく名前と値のペアの引数 'KFold' を指定します。

各分類器について k 分割エッジを推定します。

fullEdge = kfoldEdge(CVMdl)
fullEdge = 
1.5142
partEdge = kfoldEdge(PCVMdl)
partEdge = 
1.8910

k 分割エッジによれば、半分の予測子を使用する分類器の方がモデルとして優れています。

入力引数

すべて折りたたむ

交差検証済みのバイナリ カーネル分類モデル。ClassificationPartitionedKernel モデル オブジェクトを指定します。ClassificationPartitionedKernel モデルは、fitckernel を使用し、交差検証の名前と値のペアの引数のいずれかを指定することにより作成できます。

推定値を取得するため、kfoldEdge はカーネル分類モデルの交差検証に使用したものと同じデータ (X および Y) を適用します。

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: kfoldEdge(CVMdl,'Mode','individual') は、各分割の分類エッジを返します。

予測の分割インデックス。'Folds' および正の整数の数値ベクトルで構成されるコンマ区切りのペアとして指定します。Folds の要素は 1 から CVMdl.KFold の範囲でなければなりません。

予測用の Folds で指定された分割のみが使用されます。

例: 'Folds',[1 4 10]

データ型: single | double

出力の集約レベル。'Mode''average' または 'individual' から構成されるコンマ区切りのペアとして指定します。

次の表は値を説明します。

説明
'average'出力は、すべての分割の平均を表すスカラー値です。
'individual'出力は、分割ごとに 1 つずつの値が含まれている長さ k のベクトルです。k は分割数です。

例: 'Mode','individual'

出力引数

すべて折りたたむ

分類エッジ。数値スカラーまたは数値列ベクトルとして返されます。

Mode'average' である場合、edge はすべての分割の平均分類エッジです。それ以外の場合、edge は各分割の分類エッジが含まれている k 行 1 列の数値列ベクトルです。k は分割数です。

詳細

すべて折りたたむ

拡張機能

すべて展開する

バージョン履歴

R2018b で導入

すべて展開する