Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

kfoldfun

回帰での関数の交差検証

    説明

    vals = kfoldfun(CVMdl,fun) は、交差検証済みモデル CVMdl に格納されているデータに fun を適用することにより、関数 fun を交差検証します。関数 fun は、関数ハンドルとして渡す必要があります。

    すべて折りたたむ

    回帰木モデルに学習をさせてから、カスタム k 分割損失関数を使用してこれを交差検証します。

    imports-85 データセットを読み込みます。データのサブセットを使用して回帰木に学習させます。

    load imports-85
    Mdl = fitrtree(X(:,[4 5]),X(:,16),...
        'PredictorNames',{'Length','Width'},...
        'ResponseName','Price');

    回帰木を交差検証し、平均二乗誤差を取得します。

    CVMdl = crossval(Mdl);
    L = kfoldLoss(CVMdl)
    L = 1.9167e+07
    

    計算に予測ではなく学習応答の単純平均を使用する場合の誤差を調べます。

    f = @(CMP,Xtrain,Ytrain,Wtrain,Xtest,Ytest,Wtest)...
        mean((Ytest-mean(Ytrain)).^2)
    f = function_handle with value:
        @(CMP,Xtrain,Ytrain,Wtrain,Xtest,Ytest,Wtest)mean((Ytest-mean(Ytrain)).^2)
    
    
    mean(kfoldfun(CVMdl,f))
    ans = 6.3586e+07
    

    入力引数

    すべて折りたたむ

    交差検証済みモデル。RegressionPartitionedModel オブジェクト、RegressionPartitionedEnsemble オブジェクト、RegressionPartitionedGAM オブジェクトまたは RegressionPartitionedSVM オブジェクトを指定します。

    交差検証関数。関数ハンドルを指定します。fun の構文は次のとおりです。

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

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

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

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

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

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

    データ型: function_handle

    出力引数

    すべて折りたたむ

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

    データ型: double

    R2011a で導入