ドキュメンテーション

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

ClassificationPartitionedEnsemble

パッケージ: classreg.learning.partition
スーパークラス: ClassificationPartitionedModel

交差検証アンサンブル分類

説明

ClassificationPartitionedEnsemble は、交差検証の学習アンサンブルで学習を行ったアンサンブル分類のセットです。次のうち 1 つ以上の kfold メソッドを使用した交差検証により、分類の品質を評価します。それらは kfoldPredictkfoldLosskfoldMarginkfoldEdge および kfoldfun です。

すべての "kfold" メソッドでは、学習用データの観測値で学習したモデルを使用して、学習用データにはない観測値に対する応答を予測します。たとえば、データを 5 つに分割して交差検証を行うとします。その場合、学習用データには常にデータのおよそ 4/5 が含まれることになり、検定用データにはおよそ 1/5 が含まれます。Trained{1} に保存された最初のモデルは、最初の 1/5 が除外された XY で学習を行い、Trained{2} に保存された 2 番目のモデルは、2 番目の 1/5 が除外された XY で学習を行います。kfoldPredict を呼び出すとき、最初のモデルを使用してデータの最初の 1/5 に対する予測を計算し、2 番目のモデルを使用して 2 番目の 1/5 に対する予測を計算する、というように処理を続けます。つまり、すべての観測値に対する応答は、kfoldPredict によって、実際の観測値なしで学習したモデルを使用して計算されます。

構築

cvens = crossval(ens) は、アンサンブル分類 ens から交差検証済みのアンサンブルを作成します。構文の詳細は、crossval メソッドのリファレンス ページを参照してください。

cvens = fitcensemble(X,Y,Name,Value) は、Name'CrossVal''KFold''Holdout''Leaveout'、または 'CVPartition' の 1 つである場合、交差検証アンサンブルを作成します。構文の詳細は、fitcensemble 関数のリファレンス ページを参照してください。

プロパティ

CategoricalPredictors

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

ClassNames

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

Combiner

すべての分割を結びつける cell 配列。

Cost

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

CrossValidatedModel

交差検証済みモデルの名前。文字ベクトル。

Kfold

交差検証アンサンブルで使用される分割数、正の整数値。

ModelParameters

cvens のパラメーターを保持しているオブジェクト。

NumObservations

アンサンブル学習に使用されるデータ点の数、正の整数値。

NTrainedPerFold

アンサンブルの各部分の学習に使用されるデータ点の数、正の整数値。

Partition

交差検証アンサンブルの作成に使用されるクラス cvpartition の分割。

PredictorNames

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

Prior

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

ResponseName

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

ScoreTransform

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

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

ens.ScoreTransform = 'function'

または

ens.ScoreTransform = @function

Trainable

交差検証の学習アンサンブルで学習したアンサンブルの cell 配列。すべてのアンサンブルは完全な状態で、学習データと重みが含まれています。

Trained

交差検証の学習アンサンブルで学習したコンパクトなアンサンブルの cell 配列。

W

スケールされた weights、長さ n のベクトル、X の行の数。

X

予測値の行列。X の各列が 1 つの変数を表し、各行が 1 つの観測値を表します。

Y

数値ベクトル、categorical ベクトル、logical ベクトル、文字配列、または文字ベクトルの cell 配列。Y の各行は、X の対応する行のデータに対する応答です。

メソッド

kfoldEdge学習で使用しない観測値の分類エッジ
kfoldLoss学習で使用しない観測の分類損失
resume交差検証分割における学習器の学習の再開

継承メソッド

kfoldEdge学習で使用しない観測値の分類エッジ
kfoldLoss学習で使用しない観測の分類損失
kfoldMargin学習で使用しない観測の分類マージン
kfoldPredict学習で使用しない観測の予測応答
kfoldfun交差検証関数

コピーのセマンティクス

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

すべて折りたたむ

フィッシャーのアヤメのデータをモデル化したアンサンブル分類について、k 分割交差検証誤差を評価します。

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

load fisheriris

AdaBoostM2 を使用して 100 本のブースティングされた分類木のアンサンブルに学習をさせます。

t = templateTree('MaxNumSplits',1); % Weak learner template tree object
ens = fitcensemble(meas,species,'Method','AdaBoostM2','Learners',t);

ens から交差検証済みのアンサンブルを作成し、k 分割交差検証誤差を求めます。

rng(10,'twister') % For reproducibility
cvens = crossval(ens);
L = kfoldLoss(cvens)
L = 0.0467