Main Content

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

kfoldPredict

学習で使用しない観測の予測応答

構文

label = kfoldPredict(obj)
[label,score] = kfoldPredict(obj)
[label,score,cost] = kfoldPredict(obj)

説明

label = kfoldPredict(obj) では、交差検証分類 obj によって予測されたクラス ラベルが返されます。kfoldPredict は、すべての分割について分割外の観測値で学習したモデルを使用し、分割内の観測値のクラス ラベルを予測します。

[label,score] = kfoldPredict(obj) は、分割外の観測値で学習したモデルを使用して、分割内の観測値について予測された分類スコアを戻します。

[label,score,cost] = kfoldPredict(obj) は誤分類コストを返します。

入力引数

obj

ClassificationPartitionedModel クラス、または ClassificationPartitionedEnsemble クラスのオブジェクト。

出力引数

label

学習 obj で使用される応答データと同じタイプのクラス ラベルのベクトル。(string 配列は文字ベクトルの cell 配列として扱われます)。label の各エントリは、X の対応する行の予測されたクラス ラベルに対応します。

score

NK 列の数値行列では、Nobj.X の観測 (行) 数を表し、K はクラス (obj.ClassNames の) の数を表します。score(i,j) は、obj.Xi 行がクラス j である信頼度を表します。詳細は、詳細を参照してください。

cost

NK 列の誤分類コストの数値行列。cost(i,j) は、obj.Xi 行がクラス j であると予測される平均誤分類コストです。

すべて展開する

フィッシャーのアヤメのデータに基づいてモデルの交差検証予測を求めます。

フィッシャーのアヤメのデータセットを読み込みます。

load fisheriris

AdaBoostM2 を使用して分類木のアンサンブルに学習をさせます。弱学習器として木の切り株を指定します。

rng(1); % For reproducibility
t = templateTree('MaxNumSplits',1);
Mdl = fitcensemble(meas,species,'Method','AdaBoostM2','Learners',t);

10 分割交差検証を使用して、学習済みのアンサンブルを交差検証します。

CVMdl = crossval(Mdl);

ラベルとスコアを予測された交差検証を推定します。

[elabel,escore] = kfoldPredict(CVMdl);

各クラスの最大スコアと最小スコアを表示します。

max(escore)
ans = 1×3

    9.3862    8.9871   10.1866

min(escore)
ans = 1×3

    0.0018    3.8359    0.9573

判別分析モデルの 10 分割の交差検証予測を使用して、混同行列を作成します。

fisheriris データセットを読み込みます。X には 150 種類の花に関する花の測定値が格納されており、y は各花の種類またはクラスの一覧です。クラスの順序を指定する変数 order を作成します。

load fisheriris
X = meas;
y = species;
order = unique(y)
order = 3x1 cell
    {'setosa'    }
    {'versicolor'}
    {'virginica' }

関数 fitcdiscr を使用して、10 分割の交差検証判別分析モデルを作成します。既定では、fitcdiscr により、学習セットと検定セットで花の種類の比率がほぼ同じになることが保証されます。花のクラスの順序を指定します。

cvmdl = fitcdiscr(X,y,'KFold',10,'ClassNames',order);

検定セットの花の種類を予測します。

predictedSpecies = kfoldPredict(cvmdl);

真のクラス値を予測したクラス値と比較する混同行列を作成します。

confusionchart(y,predictedSpecies)

詳細

すべて展開する