resume
R2026b交差検証アンサンブル回帰モデルの学習の再開
説明
例
アンサンブル回帰にさらに数サイクル学習をさせた後で、交差検証誤差を調べます。
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 モデル オブジェクトとして指定します。
CrossVal、KFold、Holdout、Leaveout、またはCVPartitionの 5 つの交差検証に関する名前と値の引数のいずれか 1 つが指定されたfitrensembleRegressionEnsembleモデル オブジェクトに適用されたcrossval
ens の追加学習サイクル数。正の整数として指定します。
データ型: double | single
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、、Name を引用符で囲みます。
例: resume(ens,10,NPrint=5,Options=statset(UseParallel="auto")) は、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 | 並列計算する場合は、この値を 並列アンサンブル学習では、名前と値の引数 | "off" |
UseSubstreams | 再現可能な方法で計算を実行する場合は、この値を 再現性のある計算を行うには、 | false |
Streams | RandStream オブジェクトまたはそのようなオブジェクトの cell 配列としてこの値を指定します。UseParallel の値が "on" でも "auto" でもなく、UseSubstreams の値も false でない場合、単一オブジェクトを使用します。この場合は、並列プールと同じサイズの cell 配列を使用します。 | Streams を指定しないと、resume には既定のストリームが使用されます。 |
デュアルコア以上のシステムの場合、resume では Intel® スレッディング ビルディング ブロック (TBB) を使用して学習を並列化します。したがって、UseParallel オプションを "on" または "auto" に設定しても、単一のコンピューターではそれほど大きな速度の向上は得られないことがあります。Intel TBB の詳細については、https://www.intel.com/content/www/us/en/developer/tools/oneapi/onetbb.htmlを参照してください。
R2026b より前: 並列計算を行うには、UseParallel を true に設定します。
例: Options=statset(UseParallel="auto")
データ型: struct
拡張機能
resume は、名前と値の引数 Options を使用した並列学習をサポートします。statset を使用してオプション構造体の UseParallel フィールドを "on" または "auto" に設定します。並列アンサンブル学習では、名前と値の引数 Method を "Bag" に設定する必要があります。並列学習は "Bag" の既定のタイプである木学習器にのみ使用できます。
この関数は、GPU 配列を完全にサポートします。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2012b で導入Options の名前と値の引数の UseParallel フィールドでは、従来の true または false の代わりに、"off"、"auto"、または "on" を指定できるようになりました。この変更により、並列実行で並列プールを使用するタイミングをより細かく制御できます。UseParallel フィールドを true または false として指定することは非推奨です。
目的に応じてコードを更新する方法を次の表に示します。
| 目的 | 非推奨 | 推奨 |
|---|---|---|
MATLAB® クライアントで実行されるコードを作成する。 | Options=statset(UseParallel=false) | Options=statset(UseParallel="off") |
| 並列プール上で実行され、並列プールが利用できない場合は MATLAB クライアントで実行される、移植可能なコードを作成する。 | Options=statset(UseParallel=true) | Options=statset(UseParallel="auto") |
| 並列プール上で実行され、並列プールが利用できない場合はエラーを返すコードを作成する。 | 該当なし | Options=statset(UseParallel="on") |
true 値、および false 値のサポートを削除する予定はありません。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)