ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

crossval

交差検証済み k 最近傍分類器

説明

cvmodel = crossval(mdl) は、あてはめた KNN 分類モデル mdl から交差検証済み (分割された) モデルを作成します。既定では、crossval は学習データに対して 10 分割の交差検証を使用して ClassificationPartitionedModel オブジェクト cvmodel を作成します。

cvmodel = crossval(mdl,Name,Value) は、1 つ以上の名前と値のペアの引数で指定された追加オプションを使用して、分割されたモデルを作成します。たとえば、leave-one-out 交差検証の場合は 'Leaveout','on' を指定します。

すべて折りたたむ

交差検証済み k 最近傍モデルを作成し、このモデルを使用して分類性能を評価します。

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

load fisheriris
X = meas;
Y = species;

最近傍の分類器を作成します。

mdl = fitcknn(X,Y);

交差検証済み分類器を作成します。

cvmdl = crossval(mdl)
cvmdl = 
  classreg.learning.partition.ClassificationPartitionedModel
    CrossValidatedModel: 'KNN'
         PredictorNames: {'x1'  'x2'  'x3'  'x4'}
           ResponseName: 'Y'
        NumObservations: 150
                  KFold: 10
              Partition: [1x1 cvpartition]
             ClassNames: {'setosa'  'versicolor'  'virginica'}
         ScoreTransform: 'none'


  Properties, Methods

分類器の交差検証損失を求めます。

cvmdlloss = kfoldLoss(cvmdl)
cvmdlloss = 0.0467

交差検証損失は 5% 未満です。mdl が同様の誤り率をもつことが期待できます。

入力引数

すべて折りたたむ

k 最近傍分類モデル。ClassificationKNN オブジェクトを指定します。

名前と値のペアの引数

オプションの Name,Value 引数のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

例: crossval(mdl,'KFold',5) は、5 分割交差検証による分割モデルを作成します。

交差検証分割。'CVPartition' と、関数 cvpartition によって作成された cvpartition オブジェクトから構成されるコンマ区切りのペアとして指定します。crossval は、cvpartition を使用してデータをサブセットに分割します。

次の 4 つのオプション、'CVPartition''Holdout''KFold' または 'Leaveout' のいずれか 1 つだけを使用することができます。

ホールドアウト検証に使用するデータの比率。'Holdout' と範囲 (0,1) のスカラー値から構成されるコンマ区切りのペアとして指定します。

次の 4 つのオプション、'CVPartition''Holdout''KFold' または 'Leaveout' のいずれか 1 つだけを使用することができます。

例: 'Holdout',0.3

データ型: single | double

交差検証済みモデルで使用する分割数。'KFold' と 1 より大きい正の整数値から構成されるコンマ区切りのペアとして指定します。

次の 4 つのオプション、'CVPartition''Holdout''KFold' または 'Leaveout' のいずれか 1 つだけを使用することができます。

例: 'KFold',3

データ型: single | double

Leave-one-out 法の交差検証のフラグ。'Leaveout''on' または 'off' で構成されるコンマ区切りのペアとして指定します。Leave-one-out 法は 'KFold' の特別なケースであり、分割数が観測値の個数と等しくなります。

次の 4 つのオプション、'CVPartition''Holdout''KFold' または 'Leaveout' のいずれか 1 つだけを使用することができます。

例: 'Leaveout','on'

ヒント

  • "kfold" メソッドと、kfoldLoss などの cvmodel のプロパティを使用して、交差検証データに対する mdl の予測性能を評価します。

代替機能

モデルを作成してから交差検証済みモデルにする代わりに、交差検証済みモデルをデータから直接作成できます。これを行うには、fitcknn のオプション 'CrossVal''KFold''Holdout''Leaveout''CVPartition' のいずれかを指定します。

R2012a で導入