Main Content

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

kfoldPredict

交差検証済み回帰モデル内の観測値に対する応答の予測

    説明

    yfit = kfoldPredict(CVMdl) は、交差検証済みの回帰モデル CVMdl によって予測された応答を返します。kfoldPredict は、すべての分割について、学習分割観測値に対して学習をさせたモデルを使用して、検証分割観測値の応答を予測します。CVMdl.X および CVMdl.Y には、両方の観測値のセットが含まれます。

    yfit = kfoldPredict(CVMdl,'IncludeInteractions',includeInteractions) は、計算に交互作用項を含めるかどうかを指定します。この構文は一般化加法モデルにのみ適用されます。

    すべて折りたたむ

    交差検証済みの回帰モデルを作成する際に、オブジェクト関数 kfoldLoss を使用して平均二乗誤差 (MSE) を計算できます。あるいは、kfoldPredict を使用して検証分割観測値の応答を予測し、MSE を手動で計算できます。

    carsmall データセットを読み込みます。予測子データ X と応答データ Y を指定します。

    load carsmall
    X = [Cylinders Displacement Horsepower Weight];
    Y = MPG;

    交差検証済みの回帰木モデルの学習を行います。既定では、10 分割交差検証が実行されます。

    rng('default') % For reproducibility
    CVMdl = fitrtree(X,Y,'CrossVal','on');

    kfoldLoss を使用して 10 分割交差検証の MSE を計算します。

    L = kfoldLoss(CVMdl)
    L = 29.4963
    

    交差検証済みの回帰モデルを使用して、応答 yfit を予測します。yfit と真の応答 CVMdl.Y の間の平均二乗誤差を計算します。計算された MSE は、kfoldLoss で返された損失値と一致します。

    yfit = kfoldPredict(CVMdl);
    mse = mean((yfit - CVMdl.Y).^2)
    mse = 29.4963
    

    入力引数

    すべて折りたたむ

    交差検証された分割済みの回帰モデル。RegressionPartitionedModel オブジェクト、RegressionPartitionedEnsemble オブジェクト、RegressionPartitionedGAM オブジェクトまたは RegressionPartitionedSVM オブジェクトを指定します。これは 2 つの方法で作成できます。

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

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

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

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

    データ型: logical

    出力引数

    すべて折りたたむ

    予測応答。n 行 1 列の数値ベクトルとして返されます。n は観測値の個数です (観測値が行に含まれる場合、n は size(CVMdl.X,1) です)。yfit の各エントリは、CVMdl.X に対応する行で予測応答と一致します。

    ホールドアウト検証の手法を使用して CVMdl を作成する (つまり、CVMdl.KFold1 である) 場合、yfit には学習分割観測値について NaN 値が含まれます。

    R2011a で導入