メインコンテンツ

resume

交差検証アンサンブル回帰モデルの学習の再開

説明

ens1 = resume(ens,nlearn) は、ens の学習に使用したものと同じオプション (並列学習オプションと出力頻度は除く) を使用して、すべての分割で学習をさらに nlearn サイクル続行します。この関数は、新しい交差検証アンサンブル回帰モデル ens1 を返します。

ens1 = resume(ens,nlearn,Name=Value) では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、出力頻度を指定したり、並列計算のオプションを設定したりできます。

すべて折りたたむ

アンサンブル回帰にさらに数サイクル学習をさせた後で、交差検証誤差を調べます。

carsmall データ セットを読み込み、排気量、馬力および車両重量を予測子として選択します。

load carsmall
X = [Displacement Horsepower Weight];

アンサンブル回帰への学習を 50 サイクル実行します。

ens = fitrensemble(X,MPG,'NumLearningCycles',50); 

アンサンブルを交差検証し、交差検証誤差を調べます。

rng(10,'twister') % For reproducibility
cvens = crossval(ens);
L = kfoldLoss(cvens)
L = 
27.9435

さらに 50 サイクル学習をさせ、新しい交差検証誤差を調べます。

cvens = resume(cvens,50);
L = kfoldLoss(cvens)
L = 
28.7114

追加学習を実行しても、交差検証誤差は改善されませんでした。

入力引数

すべて折りたたむ

交差検証アンサンブル回帰モデル。次のいずれかの関数で作成された RegressionPartitionedEnsemble モデル オブジェクトとして指定します。

  • CrossValKFoldHoldoutLeaveout、または CVPartition の 5 つの交差検証に関する名前と値の引数のいずれか 1 つが指定された fitrensemble

  • RegressionEnsemble モデル オブジェクトに適用された crossval

ens の追加学習サイクル数。正の整数として指定します。

データ型: double | single

名前と値の引数

すべて折りたたむ

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

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

例: resume(ens,10,NPrint=5,Options=statset(UseParallel=true)) は、ens の学習を追加で 10 サイクル行い、resume で 5 個の分割の学習が完了するたびにコマンド ラインにメッセージを表示し、計算を並列に実行するように指定します。

出力頻度。正の整数 m または "off" として指定します。resume は、m 個の分割の学習が完了するたびにコマンド ラインにメッセージを表示します。"off" を指定した場合、resume で分割の学習が完了してもメッセージは表示されません。

ヒント

回帰法が "LSBoost" の場合に一部のブースティングされた決定木の学習を最速にするには、NPrint"off" (既定値) に設定します。

例: NPrint=5

データ型: single | double | char | string

並列計算と乱数ストリーム設定のオプション。構造体として指定します。statset を使用して Options 構造体を作成します。

メモ

並列計算を行うには、Parallel Computing Toolbox™ が必要です。

resume では元の学習に使用したものと同じ並列オプションを使用できます。必要に応じて、引数 Options を使用して並列オプションを変更します。次の表に、オプションのフィールドとその値を示します。

フィールド名既定の設定
UseParallel

並列計算する場合は、この値を true に設定します。並列アンサンブル学習では、名前と値の引数 Method"Bag" に設定する必要があります。並列学習は Method="Bag" の既定のタイプである木学習器にのみ使用できます。

false
UseSubstreams

再現可能な方法で計算を実行する場合は、この値を true に設定します。

再現性のある計算を行うには、Streams をサブストリームを許可する型 ("mlfg6331_64" または "mrg32k3a") に設定します。

false
StreamsRandStream オブジェクトまたはそのようなオブジェクトの cell 配列としてこの値を指定します。UseParallel の値が true でなく、UseSubstreams の値も false でない場合、単一オブジェクトを使用します。この場合は、並列プールと同じサイズの cell 配列を使用します。Streams を指定しないと、resume には既定のストリームが使用されます。

デュアルコア以上のシステムの場合、resume では Intel® スレッディング ビルディング ブロック (TBB) を使用して学習を並列化します。したがって、UseParallel オプションを true に設定しても、単一のコンピューターではそれほど大きな速度の向上は得られないことがあります。Intel TBB の詳細については、https://www.intel.com/content/www/us/en/developer/tools/oneapi/onetbb.htmlを参照してください。

例: Options=statset(UseParallel=true)

データ型: struct

拡張機能

すべて展開する

バージョン履歴

R2012b で導入