Main Content

shrink

アンサンブル回帰の枝刈り

説明

cmp = shrink(ens) は、正則化されたアンサンブル回帰 ensCompactRegressionEnsemble バージョンを返します。cmp は、指定されたしきい値を超える重みをもつ学習器のみを保持します。shrink は、cmp のメンバーを一番大きいものから順に並べ替えます。関数 predictens を使用する場合と同じように、cmp を使用して予測を行うことができます。

cmp = shrink(ens,Name=Value) では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、LASSO の正則化パラメーターの値、弱学習器の重みの低域カットオフ、学習器の重みを格納する列インデックスを指定できます。

入力引数

すべて展開する

アンサンブル回帰モデル。fitrensemble で学習させた RegressionEnsemble モデル オブジェクトとして指定します。

名前と値の引数

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

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

例: shrink(ens,Threshold=0.1,Weightcolumn=1) は、弱学習器に 0.1 の低域カットオフを使用し、ens の 1 列目に学習器の重みを格納するように指定します。

LASSO の正則化パラメーターの値。非負のスカラー値のベクトルとして指定します。ens.Regularization が空でない (つまり、関数 regularize で指定された値がプロパティに格納されている) 場合、shrinkLambda を使用して ens を正則化します。ensRegularization 構造体が含まれる場合、Lambda を指定することはできません。

例: Lambda=[.01 .1 1]

データ型: single | double

弱学習器の重みの低域カットオフ。非負の数値スカラーとして指定します。shrink は、重みが Threshold を超える学習器から cmp を作成します。

例: Threshold=0.1

データ型: single | double

重みの列。正の整数として指定します。Weightcolumnens.Regularization.TrainedWeights の列インデックスです。shrink は、この列から学習器の重みを使用して cmp を作成します。

例: Weightcolumn=2

データ型: single | double

すべて展開する

300 個のメンバーが含まれているバギング回帰アンサンブルを縮小し、生成されたアンサンブルのメンバー数を確認します。

標本データを生成します。

X = rand(2000,20);
Y = repmat(-1,2000,1);
Y(sum(X(:,1:5),2)>2.5) = 1;

Lambda パラメーターとして 0.1 を使用して、300 個のメンバーが含まれているバギング回帰アンサンブルを縮小します。

bag = fitrensemble(X,Y,Method="Bag",NumLearningCycles=300);
cmp = shrink(bag,Lambda=0.1);

生成されたアンサンブルのメンバー数を確認します。

cmp.NumTrained
ans = 94

拡張機能

バージョン履歴

R2011a で導入