ドキュメンテーション

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

RegressionPartitionedModel

パッケージ: classreg.learning.partition

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

説明

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 によって、実際の観測値なしで学習したモデルを使用して計算されます。

構築

cvmodel = crossval(tree) は、回帰木から交差検証済みの分類モデルを作成します。構文の詳細は、crossval メソッドのリファレンス ページを参照してください。

cvmodel = fitrtree(X,Y,Name,Value) は、name'CrossVal''KFold''Holdout''Leaveout'、または 'CVPartition' の 1 つである場合の交差検証済みモデルを作成します。構文の詳細は、関数 fitrtree のリファレンス ページを参照してください。

入力引数

tree

関数 fitrtree で作成された回帰木。

プロパティ

BinEdges

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

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

学習済みモデル BinEdgesmdl プロパティを使用することにより、ビン化された予測子データ 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

カテゴリカル予測子のインデックス。正の整数のベクトルを指定します。CategoricalPredictors には、カテゴリカル予測子が含まれている予測子データの列に対応するインデックス値を格納します。どの予測子もカテゴリカルではない場合、このプロパティは空 ([]) になります。

CrossValidatedModel

交差検証済みモデルの名前。文字ベクトル。

Kfold

交差検証木で使用される分割数で、正の整数。

ModelParameters

tree のパラメーターを保持しているオブジェクト。

Partition

交差検証済みモデルに使用されるクラス cvpartition の分割。

PredictorNames

予測子変数の名前の cell 配列。並びは X に現れる順です。

ResponseName

応答変数 Y の名前。文字ベクトル。

ResponseTransform

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

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

ctree.ResponseTransform = @function

Trained

学習済みの学習器、コンパクトな回帰モデルの cell 配列。

W

スケールされた weights、長さ n のベクトル、X の行の数。

X

予測子の値の行列または table。X の各列が 1 つの変数を表し、各行が 1 つの観測値を表します。

Y

X と同じ行数の数値列ベクトル。Y の各エントリは X の対応する行に対する応答です。

メソッド

kfoldLoss分割された回帰モデルの交差検証損失
kfoldPredict学習で使用しない観測の予測応答
kfoldfun交差検証関数

コピーのセマンティクス

値。値のクラスがコピー操作に与える影響については、オブジェクトのコピー (MATLAB)を参照してください。

すべて折りたたむ

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

load carsmall
X = [Horsepower Weight];

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

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

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

L = kfoldLoss(cvtree)
L = 25.5338