Main Content

CompactClassificationEnsemble

パッケージ: classreg.learning.classif

コンパクトなアンサンブル分類のクラス

説明

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

構築

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

入力引数

fullEns

fitcensemble によって作成されたアンサンブル分類。

プロパティ

CategoricalPredictors

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

ClassNames

重複が削除された Y の要素のリスト。ClassNames には、数値ベクトル、カテゴリカル変数のベクトル、logical ベクトル、文字配列、文字ベクトルの cell 配列のいずれかを指定できます。ClassNames は、引数 Y のデータと同じデータ型です。(string 配列は文字ベクトルの cell 配列として扱われます)。

CombineWeights

ens による弱学習器の重みの結合法を説明する文字ベクトル。'WeightedSum' または 'WeightedAverage' のどちらかになります。

Cost

正方行列。Cost(i,j) は真のクラスが i である点をクラス j に分類するコストです (行は真のクラス、列は予測したクラスに対応します)。Cost の行と列の順序は、ClassNames のクラスの順序に対応します。Cost の行および列の数は、応答に含まれている一意なクラスの数です。このプロパティは読み取り専用です。

ExpandedPredictorNames

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

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

NumTrained

ens の学習済みの弱学習器の数、スカラー。

PredictorNames

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

Prior

各クラスの事前確率の数値ベクトル。Prior の要素の順序は、ClassNames のクラスの順序に対応します。Prior の要素数は、応答に含まれている一意なクラスの数です。このプロパティは読み取り専用です。

ResponseName

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

ScoreTransform

スコア変換用の関数ハンドル、または組み込みの変換関数を表す文字ベクトル。'none' は変換なしを意味します。等価的には、'none'@(x)x です。組み込みの変換関数のリストとカスタム変換関数の構文は、fitctree を参照してください。

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

ens.ScoreTransform = 'function'

または

ens.ScoreTransform = @function

Trained

学習済み分類モデルの cell ベクトル。

  • Method'LogitBoost' または 'GentleBoost' の場合、CompactClassificationEnsembleTrained{j} に格納されているオブジェクトの CompactRegressionLearner プロパティに学習済みの学習器 j を格納します。つまり、学習済み学習器 j にアクセスするには、ens.Trained{j}.CompactRegressionLearner を使用します。

  • それ以外の場合、対応するコンパクトな分類モデルが cell ベクトルのセルに格納されます。

TrainedWeights

ens の弱学習器のための学習済み重みを表す数値ベクトル。 TrainedWeights には T 個の要素があり、Tlearners の弱学習器の数を表します。

UsePredForLearner

サイズ PNumTrained 列の logical 行列であり、ここで、P は学習データ X の予測子 (列) の数です。UsePredForLearner(i,j) は、学習器 j が予測子 i を使用するときに true になり、それ以外の場合は false になります。それぞれの学習器に対して、予測子は学習データ X の列と同じ順序になります。

アンサンブルが Subspace 型ではない場合、UsePredForLearner 内のすべてのエントリは true です。

オブジェクト関数

edge分類エッジ
loss分類誤差
margin分類マージン
partialDependence部分従属の計算
plotPartialDependence部分従属プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成
predict分類モデルのアンサンブルを使用して観測値を分類
predictorImportance決定木の分類アンサンブルに関する予測子の重要度の推定
removeLearnersコンパクトアンサンブル分類のメンバーの削除

コピーのセマンティクス

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

すべて折りたたむ

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

ionosphere データセットを読み込みます。

load ionosphere

すべての測定値と AdaBoostM1 メソッドを使用して、100 本の分類木があるブースティング アンサンブルに学習をさせます。

Mdl = fitcensemble(X,Y,'Method','AdaBoostM1')
Mdl = 
  ClassificationEnsemble
             ResponseName: 'Y'
    CategoricalPredictors: []
               ClassNames: {'b'  'g'}
           ScoreTransform: 'none'
          NumObservations: 351
               NumTrained: 100
                   Method: 'AdaBoostM1'
             LearnerNames: {'Tree'}
     ReasonForTermination: 'Terminated normally after completing the requested number of training cycles.'
                  FitInfo: [100x1 double]
       FitInfoDescription: {2x1 cell}


  Properties, Methods

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

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

CMdl = compact(Mdl)
CMdl = 
  CompactClassificationEnsemble
             ResponseName: 'Y'
    CategoricalPredictors: []
               ClassNames: {'b'  'g'}
           ScoreTransform: 'none'
               NumTrained: 100


  Properties, Methods

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

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

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

      877937      631686

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

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

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

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

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

コンパクトなアンサンブルを使用して、X の平均のラベルを予測します。

predMeanX = predict(CMdl,mean(X))
predMeanX = 1x1 cell array
    {'g'}

ヒント

分類木のアンサンブルの場合、コンパクトな分類モデルから成る ens.NumTrained 行 1 列の cell ベクトルが ensTrained プロパティに格納されます。cell ベクトルの木 t をテキストまたはグラフィックで表示するには、以下を入力します。

  • LogitBoost または GentleBoost を使用して集約したアンサンブルの場合は「view(ens.Trained{t}.CompactRegressionLearner)」。

  • 他のすべての集約方法の場合は「view(ens.Trained{t})」。

拡張機能

R2011a で導入