ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

CompactRegressionEnsemble

パッケージ: classreg.learning.regr

コンパクトなアンサンブル回帰のクラス

説明

コンパクトなバージョンのアンサンブル回帰 (クラスは RegressionEnsemble)。コンパクトなバージョンには、アンサンブル回帰の学習のためのデータが含まれません。そのため、コンパクトなアンサンブル回帰では、交差検証などの一部のタスクを実行できません。コンパクトなアンサンブル回帰は、新しいデータの予測 (回帰) を行うために使用してください。

構築

ens = compact(fullEns) は、完全な決定アンサンブルからコンパクトな決定アンサンブルを構築します。

入力引数

fullEns

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

プロパティ

CategoricalPredictors

カテゴリカル予測子のインデックス。正の整数のベクトルを指定します。CategoricalPredictors には、カテゴリカル予測子が含まれている予測子データの列に対応するインデックス値を格納します。どの予測子もカテゴリカルではない場合、このプロパティは空 ([]) になります。

CombineWeights

アンサンブルが学習器の予測を結合する方法を表す文字ベクトル。

ExpandedPredictorNames

展開された予測子名。文字ベクトルの cell 配列として格納されます。

モデルがカテゴリカル変数用のエンコーディングを使用している場合、ExpandedPredictorNames には展開された変数を表す名前が格納されます。それ以外の場合、ExpandedPredictorNamesPredictorNames と同じです。

NumTrained

アンサンブル学習済みの学習器の数、正のスカラー。

PredictorNames

予測子変数の名前の cell 配列。並びは X に現れる順です。

ResponseName

応答変数 Y の名前をもつ文字ベクトル。

ResponseTransform

スコア変換用の関数ハンドル、または組み込みの変換関数を表す文字ベクトル。'none' は変換なしを意味します。等価的には、'none'@(x)x です。

ドット表記を使用して関数 ResponseTransform を追加または変更します。

ens.ResponseTransform = @function

Trained

学習済みの学習器、コンパクトな回帰モデルの cell 配列。

TrainedWeights

アンサンブルが学習器に割り当てた重みの数値ベクトル。アンサンブルは、学習器からの重み付き予測を集約することによって、予測される応答を計算します。

メソッド

loss回帰誤差
predict回帰モデルのアンサンブルの使用による応答の予測
predictorImportance予測子の重要度の推定
removeLearnersコンパクト アンサンブル回帰のメンバーの削除

コピーのセマンティクス

値。値のクラスがコピー操作に与える影響については、オブジェクトのコピー (MATLAB)を参照してください。

すべて折りたたむ

新しいデータの予測を効率的にするため、コンパクトなアンサンブル回帰を作成します。

carsmall データセットを読み込みます。重量 (Weight) と気筒数 (Cylinders) を使用して自動車の燃費 (MPG) を説明するモデルを考えます。

load carsmall
X = [Weight Cylinders];
Y = MPG;

LSBoost を使用して、100 本の回帰木があるブースティングされたアンサンブルに学習をさせます。Cylinders がカテゴリカル変数であることを指定します。

Mdl = fitrensemble(X,Y,'PredictorNames',{'W','C'},...
    'CategoricalPredictors',2)
Mdl = 
  classreg.learning.regr.RegressionEnsemble
           PredictorNames: {'W'  'C'}
             ResponseName: 'Y'
    CategoricalPredictors: 2
        ResponseTransform: 'none'
          NumObservations: 94
               NumTrained: 100
                   Method: 'LSBoost'
             LearnerNames: {'Tree'}
     ReasonForTermination: 'Terminated normally after completing the requested number of training cycles.'
                  FitInfo: [100x1 double]
       FitInfoDescription: {2x1 cell}
           Regularization: []


  Properties, Methods

Mdl は、学習データも含まれている RegressionEnsemble モデル オブジェクトです。

コンパクトなバージョンの Mdl を作成します。

CMdl = compact(Mdl)
CMdl = 
  classreg.learning.regr.CompactRegressionEnsemble
           PredictorNames: {'W'  'C'}
             ResponseName: 'Y'
    CategoricalPredictors: 2
        ResponseTransform: 'none'
               NumTrained: 100


  Properties, Methods

CMdlCompactRegressionEnsemble モデル オブジェクトです。CMdlMdl とほとんど同じです。1 つ違う点は、CMdl には学習データが格納されないということです。

MdlCMdl の領域消費量を比較します。

mdlInfo = whos('Mdl');
cMdlInfo = whos('CMdl');
[mdlInfo.bytes cMdlInfo.bytes]
ans = 1×2

      490933      466134

MdlCMdl より多くの領域を消費します。

CMdl.Trained には、Mdl を構成する学習済み回帰木 (CompactRegresionTree モデル オブジェクト) が格納されています。

コンパクトなアンサンブルの 1 番目の木のグラフを表示します。

view(CMdl.Trained{1},'Mode','graph');

既定の設定では、fitrensemble はブースティングされた木のアンサンブルに対して浅い木を成長させます。

コンパクトなアンサンブルを使用して、一般的な自動車の燃費を予測します。

typicalX = [mean(X(:,1)) mode(X(:,2))];
predMeanX = predict(CMdl,typicalX)
predMeanX = 26.2520

ヒント

コンパクトな回帰木のアンサンブルの場合、ensTrained プロパティには ens.NumTrained 個の CompactRegressionTree モデル オブジェクトの cell ベクトルが格納されます。cell ベクトルの木 t をテキストまたはグラフィックで表示するには、次のように入力します。

view(ens.Trained{t})

拡張機能

R2011a で導入