Main Content

kfoldEdge

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

    説明

    E = kfoldEdge(CVMdl) は、交差検証済みの分類モデル CVMdl で取得した分類エッジを返します。kfoldEdge は、すべての分割について、学習分割観測値で学習させた分類器を使用して検証分割観測値の分類エッジを計算します。CVMdl.X および CVMdl.Y には、両方の観測値のセットが含まれます。

    E = kfoldEdge(CVMdl,Name,Value) は、1 つ以上の名前と値の引数で指定された追加オプションを使用して分類エッジを返します。たとえば、使用する分割を指定したり、個々の分割の分類エッジをそれぞれ計算するように指定します。

    すべて折りたたむ

    フィッシャーのアヤメのデータを学習させたモデルの k 分割エッジを計算します。

    フィッシャーのアヤメのデータ セットを読み込みます。

    load fisheriris

    分類木分類器を学習させます。

    tree = fitctree(meas,species);

    10 分割交差検証を使用して分類器を交差検証します。

    cvtree = crossval(tree);

    k 分割エッジを計算します。

    edge = kfoldEdge(cvtree)
    edge = 0.8578
    

    フィッシャーのアヤメのデータに対して学習をさせたアンサンブルについて k 分割エッジを計算します。

    標本データ セットを読み込みます。

    load fisheriris

    100 本のブースティング分類木のアンサンブルに学習をさせます。

    t = templateTree('MaxNumSplits',1); % Weak learner template tree object
    ens = fitcensemble(meas,species,'Learners',t);

    ens から交差検証済みのアンサンブルを作成し、分類エッジを求めます。

    rng(10,'twister') % For reproducibility
    cvens = crossval(ens);
    E = kfoldEdge(cvens)
    E = 3.2033
    

    入力引数

    すべて折りたたむ

    交差検証された分割済みの分類器。ClassificationPartitionedModel オブジェクト、ClassificationPartitionedEnsemble オブジェクトまたは ClassificationPartitionedGAM オブジェクトを指定します。オブジェクトは 2 つの方法で作成できます。

    • 次の表に記載されている学習済み分類モデルをそのオブジェクト関数 crossval に渡す。

    • 次の表に記載されている関数を使用して分類モデルに学習をさせ、その関数の交差検証に関する名前と値の引数のいずれかを指定する。

    名前と値の引数

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

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

    例: kfoldEdge(CVMdl,'Folds',[1 2 3 5]) は、分類エッジの計算に 1 番目、2 番目、3 番目、および 5 番目の分割を使用し、4 番目の分割は除外するように指定します。

    使用する分割のインデックス。正の整数ベクトルとして指定します。Folds の要素は 1 から CVMdl.KFold の範囲でなければなりません。

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

    例: 'Folds',[1 4 10]

    データ型: single | double

    モデルの交互作用項を含むというフラグ。true または false として指定します。この引数は、一般化加法モデル (GAM) の場合のみ有効です。つまり、この引数を指定できるのは、CVMdlClassificationPartitionedGAM である場合だけです。

    CVMdl のモデル (CVMdl.Trained) に交互作用項が含まれる場合、既定値は true です。モデルに交互作用項が含まれない場合、値は false でなければなりません。

    例: 'IncludeInteractions',false

    データ型: logical

    出力の集約レベル。'average''individual'、または 'cumulative' として指定します。

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

    メモ

    この値を指定する場合、CVMdlClassificationPartitionedEnsemble オブジェクトまたは ClassificationPartitionedGAM オブジェクトでなければなりません。

    • CVMdlClassificationPartitionedEnsemble の場合、出力は長さ min(CVMdl.NumTrainedPerFold) のベクトルです。各要素 j は、弱学習器 1:j で学習させたアンサンブルを使用して取得したすべての分割の平均です。

    • CVMdlClassificationPartitionedGAM の場合、出力の値は IncludeInteractions の値によって異なります。

      • IncludeInteractionsfalse の場合、L(1 + min(NumTrainedPerFold.PredictorTrees)) 行 1 列の数値列ベクトルです。L の最初の要素は、切片 (定数) 項のみを使用して取得したすべての分割の平均です。L(j + 1) 番目の要素は、切片項と各線形項の最初の j 個の予測子木を使用して取得した平均です。

      • IncludeInteractionstrue の場合、L(1 + min(NumTrainedPerFold.InteractionTrees)) 行 1 列の数値列ベクトルです。L の最初の要素は、切片 (定数) 項と各線形項のすべての予測子木を使用して取得したすべての分割の平均です。L(j + 1) 番目の要素は、切片項、各線形項のすべての予測子木、および各交互作用項の最初の j 個の交互作用木を使用して取得した平均です。

    例: 'Mode','individual'

    出力引数

    すべて折りたたむ

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

    • Mode'average' である場合、E はすべての分割の平均分類エッジです。

    • Mode'individual' である場合、E は各分割の分類エッジが含まれている k 行 1 列の数値列ベクトルです。k は分割数です。

    • Mode'cumulative'CVMdlClassificationPartitionedEnsemble である場合、Emin(CVMdl.NumTrainedPerFold) 行 1 列の数値列ベクトルです。各要素 j は、弱学習器 1:j で学習させたアンサンブルを使用して取得したすべての分割の平均分類エッジです。

    • Mode'cumulative'CVMdlClassificationPartitionedGAM の場合、出力の値は IncludeInteractions の値によって異なります。

      • IncludeInteractionsfalse の場合、L(1 + min(NumTrainedPerFold.PredictorTrees)) 行 1 列の数値列ベクトルです。L の最初の要素は、切片 (定数) 項のみを使用して取得したすべての分割の平均分類エッジです。L(j + 1) 番目の要素は、切片項と各線形項の最初の j 個の予測子木を使用して取得した平均エッジです。

      • IncludeInteractionstrue の場合、L(1 + min(NumTrainedPerFold.InteractionTrees)) 行 1 列の数値列ベクトルです。L の最初の要素は、切片 (定数) 項と各線形項のすべての予測子木を使用して取得したすべての分割の平均分類エッジです。L(j + 1) 番目の要素は、切片項、各線形項のすべての予測子木、および各交互作用項の最初の j 個の交互作用木を使用して取得した平均エッジです。

    詳細

    すべて折りたたむ

    分類エッジ

    "分類エッジ""分類マージン" の加重平均です。

    特徴選択を実行する場合などに複数の分類器から選択する方法の 1 つは、エッジが最大になる分類器を選択することです。

    分類マージン

    バイナリ分類の "分類マージン" は、各観測値における真のクラスの分類スコアと偽のクラスの分類スコアの差です。マルチクラス分類の "分類マージン" は、真のクラスの分類スコアと偽のクラスの最大スコアの差を表します。

    各マージンのスケールが同じである場合 (つまり、スコア値が同じスコア変換に基づく場合)、マージンを分類の信頼尺度として使用できます。複数の分類器の中で、マージンが大きい分類器の方が優れています。

    アルゴリズム

    kfoldEdge は、対応するオブジェクト関数 edge で説明されているように、分類エッジを計算します。モデル固有の説明については、次の表に示す該当する関数 edge のリファレンス ページを参照してください。

    モデル タイプ関数 edge
    判別分析分類器edge
    アンサンブル分類器edge
    一般化加法モデル分類器edge
    k 最近傍分類器edge
    単純ベイズ分類器edge
    ニューラル ネットワーク分類器edge
    サポート ベクター マシン分類器edge
    マルチクラス分類用の二分決定木edge

    拡張機能

    バージョン履歴

    R2011a で導入

    すべて展開する