ドキュメンテーション

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

kfoldfun

交差検証関数

構文

vals = kfoldfun(obj,fun)

説明

vals = kfoldfun(obj,fun) では、交差検証済みモデル obj に保存されたデータに fun を適用することにより、関数 fun の交差検証が行われます。関数 fun は、関数ハンドルとして渡す必要があります。

入力引数

obj

クラス RegressionPartitionedModel または RegressionPartitionedEnsemble のオブジェクト。関数 fitrtree または fitrensemble と共に交差検証オプションの 1 つを使用して、obj を作成します。それらは、'CrossVal''KFold''Holdout''Leaveout' または 'CVPartition' です。または、crossval を使用して分類木またはアンサンブル回帰から obj を作成します。

fun

交差検証関数の関数ハンドル。fun では次の構文を使用します。

testvals = fun(CMP,Xtrain,Ytrain,Wtrain,Xtest,Ytest,Wtest)
  • CMP は、obj.Trained プロパティの 1 つの要素に保存されたコンパクト モデルです。

  • Xtrain は、予測値の学習行列です。

  • Ytrain は、応答値の学習配列です。

  • Wtrain は観測に適用される学習の重みです。

  • Xtest および Ytest は、重み Wtest が関連付けられた検定データです。

  • 戻り値 testvals は、すべての分割で同じサイズでなければなりません。

出力引数

vals

すべての分割において垂直に連結された、testvals 出力の配列です。たとえば、すべての分割からの testvals が、長さ N の数値ベクトルである場合、kfoldfun は、1 つの分割につき 1 行で KFoldN 列の数値行列を返します。

回帰木を交差検証し、平均二乗誤差を取得します (次を参照: kfoldLoss):

load imports-85
t = fitrtree(X(:,[4 5]),X(:,16),...
    'predictornames',{'length' 'width'},...
    'responsename','price');
cv = crossval(t);
L = kfoldLoss(cv)

L =
  1.5489e+007

予測を使用する代わりに、応答の単純平均の結果を調べます。

f = @(cmp,Xtrain,Ytrain,Wtrain,Xtest,Ytest,Wtest)...
    mean((Ytest-mean(Ytrain)).^2)
mean(kfoldfun(cv,f))

ans =
  6.3497e+007