Main Content

RegressionPartitionedModel

交差検証済みの回帰モデル

説明

RegressionPartitionedModel は、交差検証の学習集合で学習を行った回帰モデルのセットです。次のうち 1 つ以上の kfold メソッドを使用した交差検証により、回帰の品質を評価します。kfoldPredictkfoldLosskfoldfun です。すべての "kfold" メソッドでは、学習用データの観測値で学習したモデルを使用して、学習用データにはない観測値に対する応答を予測します。たとえば、データを 5 つに分割して交差検証を行うとします。その場合、学習用データには常にデータのおよそ 4/5 が含まれることになり、テスト用データにはおよそ 1/5 が含まれます。Trained{1} に保存された最初のモデルは、最初の 1/5 が除外された XY で学習を行い、Trained{2} に保存された 2 番目のモデルは、2 番目の 1/5 が除外された XY で学習を行います。kfoldPredict を呼び出すとき、最初のモデルを使用してデータの最初の 1/5 に対する予測を計算し、2 番目のモデルを使用して 2 番目の 1/5 に対する予測を計算する、というように処理を続けます。つまり、すべての観測値に対する応答は、kfoldPredict によって、実際の観測値なしで学習したモデルを使用して計算されます。

作成

説明

RegressionPartitionedModel オブジェクトは 2 つの方法で作成できます。

  • オブジェクト関数 crossval を使用して、回帰木モデル オブジェクト RegressionTree から交差検証済みモデルを作成する。

  • 関数 fitrtree を使用し、名前と値の引数 CrossValCVPartitionHoldoutKFoldLeaveout のいずれかを指定して、交差検証済みモデルを作成する。

プロパティ

すべて展開する

この プロパティ は読み取り専用です。

数値予測子のビンのエッジ。p 個の数値ベクトルが含まれている cell 配列を指定します。p は予測子の個数です。各ベクトルには、数値予測子のビンのエッジを含めます。カテゴリカル予測子はビン化されないので、カテゴリカル予測子の場合は、この cell 配列の要素を空にします。

数値予測子がビン化されるのは、木学習器を使用してモデルに学習をさせるときに名前と値の引数 'NumBins' として正の整数スカラーを指定した場合だけです。'NumBins' の値が空 (既定) である場合、BinEdges プロパティは空になります。

学習済みモデル mdlBinEdges プロパティを使用することにより、ビン化された予測子データ Xbinned を再現できます。

X = mdl.X; % Predictor data
Xbinned = zeros(size(X));
edges = mdl.BinEdges;
% Find indices of binned predictors.
idxNumeric = find(~cellfun(@isempty,edges));
if iscolumn(idxNumeric)
    idxNumeric = idxNumeric';
end
for j = idxNumeric 
    x = X(:,j);
    % Convert x to array if x is a table.
    if istable(x) 
        x = table2array(x);
    end
    % Group x into bins by using the discretize function.
    xbinned = discretize(x,[-inf; edges{j}; inf]); 
    Xbinned(:,j) = xbinned;
end
数値予測子の場合、1 からビンの個数までの範囲にあるビンのインデックスが Xbinned に格納されます。カテゴリカル予測子の場合、Xbinned の値は 0 になります。XNaN が含まれている場合、対応する Xbinned の値は NaN になります。

この プロパティ は読み取り専用です。

カテゴリカル予測子のインデックス。正の整数のベクトルとして指定します。CategoricalPredictors には、対応する予測子がカテゴリカルであることを示すインデックス値が格納されます。インデックス値の範囲は 1 ~ p です。p はモデルの学習に使用した予測子の数です。どの予測子もカテゴリカルではない場合、このプロパティは空 ([]) になります。

データ型: single | double

交差検証済みモデルの名前。文字ベクトルとして返されます。

データ型: char

交差検証済みモデルのパラメーター。オブジェクトとして返されます。

この プロパティ は読み取り専用です。

学習データ内の観測値の数。正の整数として返されます。入力データまたは応答データに欠損値がある場合、NumObservations は入力データの行数よりも少なくなることがあります。

データ型: double

交差検証で使用される分割。CVPartition オブジェクトとして返されます。

予測子データ X に現れる順序で並んでいる予測子名。文字ベクトルの cell 配列を指定します。PredictorNames の長さは、X の列数と同じです。

データ型: cell

応答変数名。文字ベクトルを指定します。

データ型: char

生の応答値 (平均二乗誤差) を変換するための関数。関数ハンドルまたは 'none' として指定します。既定の 'none' は変換なしを意味します。つまり、'none'@(x)x と同じ意味になります。関数ハンドルは、応答値の行列を受け入れて同じサイズの行列を返さなければなりません。

ドット表記を使用して関数 ResponseTransform を追加または変更します。

tree.ResponseTransform = @function

データ型: char | function_handle

学習済みの学習器。コンパクトな回帰モデルの cell 配列として返されます。

データ型: cell

この プロパティ は読み取り専用です。

アンサンブル内のスケーリングされた重み。数値ベクトルとして返されます。W の長さは n (学習データの行数) です。W の要素の合計は 1 です。

データ型: double

この プロパティ は読み取り専用です。

予測子の値。実数行列または table として返されます。X の各列が 1 つの変数 (予測子) を表し、各行が 1 つの観測値を表します。

データ型: double | table

この プロパティ は読み取り専用です。

X の行に対応する行の分類。categorical 配列、文字ベクトルの cell 配列、文字配列、logical ベクトル、または数値ベクトルとして返されます。Y の各行は、X の対応する行の分類を表します。

データ型: single | double | logical | char | string | cell | categorical

オブジェクト関数

gatherGPU からの Statistics and Machine Learning Toolbox オブジェクトのプロパティの収集
kfoldLoss交差検証された分割済みの回帰モデルの損失
kfoldPredict交差検証済み回帰モデル内の観測値に対する応答の予測
kfoldfun回帰での関数の交差検証

すべて折りたたむ

標本データを読み込みます。Horsepower および Weight データを格納する変数 X を作成します。

load carsmall
X = [Horsepower Weight];

標本データを使用して回帰木を構築します。

cvtree = fitrtree(X,MPG,'crossval','on');

Horsepower および Weight を燃費の予測子変数 (MPG) として使用し、carsmall データの交差検証誤差を評価します。

L = kfoldLoss(cvtree)
L = 25.5338

拡張機能

バージョン履歴

R2011a で導入