このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
ClassificationPartitionedModel
パッケージ: classreg.learning.partition
交差検証分類モデル
説明
ClassificationPartitionedModel
は、交差検証の学習集合で学習を行った分類モデルのセットです。次のうち 1 つ以上の kfold メソッドを使用した交差検証により、分類の品質を評価します。それらは kfoldPredict
、kfoldLoss
、kfoldMargin
、kfoldEdge
および kfoldfun
です。
すべての "kfold" メソッドでは、学習用データの観測値で学習したモデルを使用して、学習用データにはない観測値に対する応答を予測します。たとえば、データを 5 つに分割して交差検証を行うとします。この場合、各観測値は 5 つのほぼ等しいサイズのグループに無作為に割り当てられます。"学習用データ" にはグループのうち 4 つ (すなわち、データの約 4/5) が含まれ、"検定用データ" には他のグループ (すなわち、データの約 1/5) が含まれます。この場合、交差検証は次のように処理されます。
CVMdl.Trained{1}
に保存されている最初のモデルは、後の 4 グループの観測値によって学習され、最初のグループの観測値を検証用に保存します。CVMdl.Trained{2}
に保存されている 2 番目のモデルは、最初のグループおよび後の 3 グループの観測値によって学習され、検証のために 2 番目のグループの観測が保存されます。同様の方法で、3 番目から 5 番目までのモデルに対しても続けます。
kfoldPredict
を呼び出して検証する場合、最初のモデルを使用してグループ 1 の観測に対する予測が計算され、2 番目のモデルにはグループ 2 が計算され、以降同様です。つまり、それぞれの観測値に対する応答は、その観測値ではなく学習したモデルによって推定されます。
構築
は、分類モデル (CVMdl
= crossval(Mdl
)Mdl
) から交差検証済みの分類モデルを作成します。
あるいは、
CVDiscrMdl = fitcdiscr(X,Y,Name,Value)
CVKNNMdl = fitcknn(X,Y,Name,Value)
CVNetMdl = fitcnet(X,Y,Name,Value)
CVNBMdl = fitcnb(X,Y,Name,Value)
CVSVMMdl = fitcsvm(X,Y,Name,Value)
CVTreeMdl = fitctree(X,Y,Name,Value)
Name
が 'CrossVal'
、'KFold'
、'Holdout'
、'Leaveout'
または 'CVPartition'
のいずれかである場合、交差検証されたモデルを作成します。構文の詳細については、fitcdiscr
、fitcknn
、fitcnet
、fitcnb
、fitcsvm
および fitctree
を参照してください。
入力引数
|
分類モデル。次のいずれかを指定します。
|
プロパティ
|
数値予測子のビンのエッジ。p 個の数値ベクトルが含まれている cell 配列を指定します。p は予測子の個数です。各ベクトルには、数値予測子のビンのエッジを含めます。カテゴリカル予測子はビン化されないので、カテゴリカル予測子の場合は、この cell 配列の要素を空にします。 数値予測子がビン化されるのは、木学習器を使用してモデルに学習をさせるときに名前と値の引数 学習済みモデル X = mdl.X; % Predictor data
Xbinned = zeros(size(X));
edges = mdl.BinEdges;
% Find indices of binned predictors.
idxNumeric = find(~cellfun(@isempty,edges));
if iscolumn(idxNumeric)
idxNumeric = idxNumeric';
end
for j = idxNumeric
x = X(:,j);
% Convert x to array if x is a table.
if istable(x)
x = table2array(x);
end
% Group x into bins by using the Xbinned に格納されます。カテゴリカル予測子の場合、Xbinned の値は 0 になります。X に NaN が含まれている場合、対応する Xbinned の値は NaN になります。
| ||||||||||||||||||||
|
カテゴリカル予測子のインデックス。正の整数のベクトルとして指定します。予測子データの行に観測値が含まれていると仮定すると、
| ||||||||||||||||||||
| モデルの学習に使用した一意なクラス ラベル。categorical 配列、文字配列、logical ベクトル、数値ベクトル、または文字ベクトルの cell 配列を指定します。 | ||||||||||||||||||||
|
正方行列。
CVModel.Cost = CostMatrix; | ||||||||||||||||||||
|
交差検証済みモデルの名前。文字ベクトル。 | ||||||||||||||||||||
|
交差検証済みモデルで使用される分割数。正の整数。 | ||||||||||||||||||||
|
| ||||||||||||||||||||
|
| ||||||||||||||||||||
|
交差検証済みモデルの作成に使用されるクラス | ||||||||||||||||||||
| 予測子変数の名前。文字ベクトルの cell 配列を指定します。 | ||||||||||||||||||||
|
各クラスの事前確率の数値ベクトル。
CVModel.Prior = priorVector; | ||||||||||||||||||||
| 応答変数名。文字ベクトルを指定します。 | ||||||||||||||||||||
|
スコア変換。文字ベクトルまたは関数ハンドルを指定します。 スコア変換関数を
| ||||||||||||||||||||
|
学習済みの学習器。コンパクトな分類モデルの cell 配列。 | ||||||||||||||||||||
|
スケーリングされた | ||||||||||||||||||||
|
予測子の値の行列または table。 | ||||||||||||||||||||
|
各観測値のクラス ラベルを指定する categorical 配列、文字配列、logical ベクトル、数値ベクトル、または文字ベクトルの cell 配列。 |
オブジェクト関数
gather | GPU からの Statistics and Machine Learning Toolbox オブジェクトのプロパティの収集 |
kfoldEdge | 交差検証済み分類モデルの分類エッジ |
kfoldLoss | 交差検証済み分類モデルの分類損失 |
kfoldMargin | 交差検証済み分類モデルの分類マージン |
kfoldPredict | 交差検証済み分類モデルの観測値の分類 |
kfoldfun | 分類での関数の交差検証 |
コピーのセマンティクス
値。値のクラスがコピー操作に与える影響については、オブジェクトのコピーを参照してください。
例
ヒント
学習させた交互検定済みの SVM 分類器の事後確率を推定するには、fitSVMPosterior
を使用します。