Main Content

shrink

アンサンブルでの枝刈り

構文

cmp = shrink(ens)
cmp = shrink(ens,Name,Value)

説明

cmp = shrink(ens) は、正則化されたアンサンブルの ens のコンパクト縮小版を返します。cmp は、しきい値を超える重みをもつ学習器のみを保持します。

cmp = shrink(ens,Name,Value) では、1 つ以上の Name,Value の引数ペアで指定された追加オプションを使用して、アンサンブルを返します。Name1,Value1,…,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

入力引数

ens

fitrensemble で作成されたアンサンブル回帰。

名前と値の引数

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

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

lambda

LASSO に指定する非負の正則化パラメーター値のベクトル。ens.Regularization が空でない (regularize で埋め込まれる) 場合、shrinklambda を使用して、ens を正則化します。ensRegularization 構造体が含まれる場合、lambda を渡すことはできません。

既定値: []

threshold

弱学習器に対する重み付けのより低いカットオフ、非負の数値スカラー。shrink は、重みが threshold を超える学習器から、cmp を作成します。

既定値: 0

weightcolumn

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

既定値: 1

出力引数

cmp

クラス CompactRegressionEnsemble のアンサンブル回帰。ens を使用するときと同じように、predict メソッドとともに cmp を使用します。

shrink は、cmp のメンバーを一番大きいものから順に並べ替えます。

すべて展開する

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

拡張機能