Main Content

crossval

クラス: RegressionTree

交差検証を使用した決定木

構文

cvmodel = crossval(model)
cvmodel = crossval(model,Name,Value)

説明

cvmodel = crossval(model) は、近似された回帰木である model から分割されたモデルを作成します。既定の設定では、crossval は 学習データに 10 分割交差検証を使用して、cvmodel を作成します。

cvmodel = crossval(model,Name,Value) は、1 つまたは複数の Name,Value ペア引数で指定される追加オプションを使用して、分割されたモデルを作成します。

入力引数

model

fitrtree を使用して作成される回帰モデル。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

CVPartition

クラス cvpartition のオブジェクト。関数 cvpartition によって作成されます。crossval は、cvpartition を使用してデータをサブセットに分割します。

次の 4 つのオプション、'KFold''Holdout''Leaveout' または 'CVPartition' のいずれか 1 つだけを使用することができます。

既定値: []

Holdout

ホールドアウト検証は、データの指定部分をテストし、データの残りの部分を学習に使用します。0 から 1 までの数値スカラーを指定します。交差検証ツリーの作成では、次の 4 つのオプション、'KFold''Holdout''Leaveout' または 'CVPartition' のいずれか 1 つだけを使用することができます。

KFold

交差検証済みの木で使用する分割数。1 より大きい正の整数値。

次の 4 つのオプション、'KFold''Holdout''Leaveout' または 'CVPartition' のいずれか 1 つだけを使用することができます。

既定値: 10

Leaveout

'on' を設定して、Leave-one-out 法の交差検証を指定します。

出力引数

cvmodel

クラス RegressionPartitionedModel の分割されたモデル。

すべて展開する

carsmall データセットを読み込みます。AccelerationDisplacementHorsepower および Weight は予測子変数であるとします。

load carsmall
X = [Acceleration Displacement Horsepower Weight];

データセット全体を使用して回帰木を成長させます。

Mdl = fitrtree(X,MPG);

MdlRegressionTree モデルです。

10 分割交差検証を使用して回帰木を交差検証します。

CVMdl = crossval(Mdl);

CVMdl は、RegressionPartitionedModel 交差検証済みモデルです。crossval は、10 個の学習済みのコンパクトな回帰木を CVMdlTrained プロパティに格納します。

最初の分割内のものを除くすべての観測値を使用して crossval で学習を行ったコンパクトな回帰木を表示します。

CVMdl.Trained{1}
ans = 
  CompactRegressionTree
           PredictorNames: {'x1'  'x2'  'x3'  'x4'}
             ResponseName: 'Y'
    CategoricalPredictors: []
        ResponseTransform: 'none'


  Properties, Methods

10 分割交差検証の平均二乗誤差を計算することにより、Mdl の汎化誤差を推定します。

L = kfoldLoss(CVMdl)
L = 23.5706

ヒント

  • "kfold" メソッドおよび kfoldLoss などの cvmodel のプロパティを使用して交差検証されたデータでの model の予測パフォーマンスを評価します。

代替方法

最初に決定木を作成することなく、データから直接交差検証ツリーを作成できます。それには、fitrtree に、これらの 5 つのオプションの 1 つを含めます。それらは、'CrossVal''KFold''Holdout''Leaveout' または 'CVPartition' です。

拡張機能