主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

预测

単純ベ@ @ズ分類器の使用による観測値の分類

説明

标签=预测(MdlXは,学習済みの単純ベMdlに基づいて,テ,ブルまたは行列X内の予測子デ,タに対する予測クラスラベルのベクトルを返します。学習済みの単純ベesc escズモデルは,完全でもコンパクトでもかまいません。

标签成本预测,预测MdlXはさらに,事後確率)と,Mdl。Xの観測値(行)に対応する予測(推定)誤分類コスト成本)を返します。X内の各観測値にいて,予測クラスラベルは,すべてのクラスの中で最小の予測分類コストに対応します。

すべて折りたたむ

fisheririsデ,タセットを読み込みます。150 本のアヤメについて 4 つの花弁の測定値が含まれる数値行列Xを作成します。対応するアヤメの種類が含まれる文字ベクトルのcell配列Yを作成します。

负载fisheririsX = meas;Y =物种;rng (“默认”再现率%

Yのクラス情報を使用して,観測値を階層的に学習セットと検定セットに無作為に分割します。テスト用の30%のホ,ルドアウト標本を指定します。

cv = cvpartition(Y,“坚持”, 0.30);

学習▪▪ンデックスと検定▪▪ンデックスを抽出します。

trainInds =培训(cv);testInds =测试(cv);

学習デ,タセットと検定デ,タセットを指定します。

XTrain = X(trainInds,:);YTrain = Y(trainInds);XTest = X(testInds,:);YTest = Y(testInds);

予測子XTrainとクラスラベルYTrainを使用して,単純ベ。クラス名を指定することが推奨されます。fitcnbは,各予測子が条件付き正規分布に従うと仮定しています。

Mdl = fitcnb(XTrain,YTrain,“类名”, {“setosa”“多色的”“virginica”})
Mdl = ClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' NumObservations: 105 DistributionNames: {'normal' 'normal' 'normal' 'normal'} DistributionParameters: {3x4 cell}属性,方法

Mdlは学習させたClassificationNaiveBayes分類器です。

検定標本のラベルを予測します。

idx = randsample(sum(testInds),10);label = predict(Mdl,XTest);

検定標本にある10件の観測値の無作為なセットにいて結果を表示します。

表(欧美(idx),标签(idx),“VariableNames”...“TrueLabel”“PredictedLabel”})
ans =10×2表TrueLabel PredictedLabel  ______________ ______________ {' virginica’}{‘virginica}{“癣”}{“癣”}{“癣”}{“癣”}{‘virginica}{‘virginica}{‘setosa}{‘setosa}{‘virginica}{‘virginica}{‘setosa}{‘setosa}{“癣”}{“癣”}{“癣”}{‘virginica}{“癣”}{“癣”}

真のラベル欧美と予測ラベル标签から混同チャ,トを作成します。

cm = confusionchart(YTest,label);

图包含一个confusimatrixchart类型的对象。

単純ベesc escズ分類器を使用して,新しい観測値の事後確率と誤分類コストを推定します。メモリ効率の高い事前学習済みの分類器を使用して,新しい観測値を分類します。

fisheririsデ,タセットを読み込みます。150 本のアヤメについて 4 つの花弁の測定値が含まれる数値行列Xを作成します。対応するアヤメの種類が含まれる文字ベクトルのcell配列Yを作成します。

负载fisheririsX = meas;Y =物种;rng (“默认”再现率%

デタセットを2のセットに分割します。1つは学習セットを含め、もう 1 つは新しい未観測のデータを含めます。新しいデータセットの 10 件の観測値を保持します。

n = size(X,1);newInds = randsample(n,10);inds = ~ismember(1:n,newInds);XNew = X(newInds,:);YNew = Y(newInds);

予測子XとクラスラベルYを使用して,単純ベ。クラス名を指定することが推奨されます。fitcnbは,各予測子が条件付き正規分布に従うと仮定しています。

Mdl = fitcnb(X(inds,:)),Y(inds),...“类名”, {“setosa”“多色的”“virginica”});

Mdlは学習させたClassificationNaiveBayes分類器です。

学習させた単純ベ▪▪ズ分類器のサ▪▪ズを減らし,メモリの消費量を抑えます。

CMdl =紧凑(Mdl);谁(“Mdl”“CMdl”
名称大小字节类属性CMdl 1x1 5406 classreg.learning.classif.CompactClassificationNaiveBayes Mdl 1x1 12731 ClassificationNaiveBayes

CMdlCompactClassificationNaiveBayes分類器です。Mdlはデ,タを格納しているため,Mdlよりメモリ使用量が少なくなります。

ドット表記を使用して,CMdlのクラス名を表示します。

CMdl。ClassNames
ans =3 x1细胞{'setosa'} {'versicolor'} {'virginica'}

ラベルを予測します。事後確率と予測クラスの誤分類コストを推定します。

[labels,PostProbs,MisClassCost] = predict(CMdl,XNew);

真のラベルを予測ラベルと比較します。

表(YNew、标签PostProbs MisClassCost,“VariableNames”...“TrueLabels”“PredictedLabels”...“PosteriorProbabilities”“MisclassificationCosts”})
ans =10×4表TrueLabels PredictedLabels PosteriorProbabilities MisclassificationCosts  ______________ _______________ _________________________________________ ______________________________________ {' virginica’}{‘virginica} 4.0832 e - 268 4.6422 e-09 1 1 1 4.6422 e-09{‘setosa}{‘setosa} 1 3.0706 3.0706 4.6719 e-18 e-25 e-18 1 1{‘virginica}{‘virginica} 1.0007 e - 246 5.8758平台以及1 1 1 5.8758平台以及{“癣”}{“癣”}1.2022 e - 61 0.99995 4.9859 e-05 1 4.9859 0.99995 e-05{‘virginica} {' virginica '}2.687e-226 1.7905e-08 1 1 1 1.7905e-08 {'versicolor'} {'versicolor'} 3.3431e-76 0.99971 0.00028983 1 0.00028983 0.00028983 {'virginica'} {'virginica'} 4.05e-166 0.0028527 0.99715 1 0.99715 0.0099927 {' settosa '} {' settosa '} 1 1.1272e-14 2.0308e-23 1.1272e-14 1 1 1 8.3604e-10 {' settosa '} {' settosa '} 1 4.5023e- 28 2.1724e-24 4.5023e-17 1 1 1

PostProbsMisClassCost103.列の数値行列で,各行は新しい観測値に,各列はクラスに対応します。列の順序はCMdl。ClassNamesの順序に対応します。

fisheririsデ,タセットを読み込みます。150 本のアヤメについての花弁の長さと幅の測定値が含まれる数値行列Xを作成します。対応するアヤメの種類が含まれる文字ベクトルのcell配列Yを作成します。

负载fisheririsX = meas(:,3:4);Y =物种;

予測子XとクラスラベルYを使用して,単純ベ。クラス名を指定することが推奨されます。fitcnbは,各予測子が条件付き正規分布に従うと仮定しています。

Mdl = fitcnb(X,Y,“类名”, {“setosa”“多色的”“virginica”});

Mdlは学習させたClassificationNaiveBayes分類器です。

観測された予測子領域の値のグリッドを定義します。

xMax = max(X);xMin = min(X);H = 0.01;[x1Grid, x2Grid] = meshgrid (xMin (1): h: xMax (1) xMin (2): h: xMax (2));

グリッド内の各@ @ンスタンスの事後確率を予測します。

[~, PosteriorRegion] =预测(Mdl [x1Grid (:), x2Grid (:)));

事後確率領域と学習デ,タをプロットします。

h = scatter(x1Grid(:),x2Grid(:),1,PosteriorRegion);h.MarkerEdgeAlpha = 0.3;

デ,タをプロットする。

持有gh = gscatter(X(:,1),X(:,2),Y,“k”“dx *”);标题“虹膜花瓣测量和后验概率”;包含“花瓣长度(厘米)”;ylabel“花瓣宽度(厘米)”;轴传奇(gh,“位置”“最佳”)举行

图中包含一个轴对象。标题为虹膜花瓣测量和后验概率的轴对象包含散点、线类型的4个对象。这些物品代表了setosa, versicolica, virgica。

入力引数

すべて折りたたむ

単純ベ@ @ズ分類モデル。fitcnbによって返されるClassificationNaiveBayesモデルオブジェクト,または紧凑的によって返されるCompactClassificationNaiveBayesモデルオブジェクトとして指定します。

分類対象の予測子デ,タ。数値行列またはテーブルを指定します。

Xの各行は1の観測値に対応し,各列は1。

  • 数値行列の場合

    • Xの列を構成する変数の順序は,Mdlに学習させた予測子変数の順序と同じでなければなりません。

    • テ,ブル(たとえば资源描述)を使用してMdlに学習させる場合,资源描述に含まれている予測子変数が数値変数のみであれば,Xを数値行列にすることができます。学習時に资源描述内の数値予測子をカテゴリカルとして扱うには,fitcnbの名前と値のペアの引数“CategoricalPredictors”を使用してカテゴリカル予測子を同定します。资源描述に種類の異なる予測子変数(数値および分类デ,タ型など)が混在し,Xが数値行列である場合,预测でエラ,がスロ,されます。

  • テ,ブルの場合

    • 预测は,文字ベクトルのcell配列ではないcell配列や複数列の変数をサポ,トしません。

    • テ,ブル(たとえば资源描述)を使用してMdlに学習をさせた場合,X内のすべての予測子変数は変数名およびデ,タ型が,Mdlに学習させた(Mdl。PredictorNamesに格納されている)変数と同じでなければなりません。ただし,Xの列の順序が资源描述の列の順序に対応する必要はありません。资源描述Xに追加の変数(応答変数や観測値の重みなど)を含めることができますが,预测はこれらを無視します。

    • 数値行列を使用してMdlに学習をさせる場合,Mdl。PredictorNames内の予測子名とX内の対応する予測子変数名が同じでなければなりません。学習時に予測子の名前を指定するには,fitcnbの名前と値のペアの引数”PredictorNamesを使用します。X内の予測子変数はすべて数値ベクトルでなければなりません。Xに追加の変数(応答変数や観測値の重みなど)を含めることができますが,预测はこれらを無視します。

デ,タ型:表格||

メモ:

  • Mdl。DistributionNames“锰”の場合,少なくとも1のを含むXの行に対応するが返されます。

  • Mdl。DistributionNames“锰”以外の場合,誤分類コストと事後確率を推定するときにの値は無視されます。特に,欠損する予測子値に対応する要因を除外することで,クラスの与えられた予測子の条件付き密度が計算されます。

  • 予測子の分布として“mvmn”を指定した場合,Xに含まれるレベルが学習デタに示されていない(まり,Mdl。CategoricalLevelsにない)と,指定クラスに対する予測子の条件付き密度は0になります。このような観測値の場合,対応するの値としてが返されます。Mdl。Priorに格納されたクラス事前確率を使用して,観測のクラスラベルが決定されます。

出力引数

すべて折りたたむ

予測クラスラベル。categorical ベクトル、文字配列、logical ベクトル、数値ベクトル、または文字ベクトルの cell 配列として返されます。

予測クラスラベルは以下をもます。

  • 観測されたクラスラベル(Mdl。Y)と同じデ,タ型(字符串配列は文字ベクトルのcell配列として扱われます)。

  • Mdl。Xの行数と等しい長さ。

  • 予測誤分類コスト(成本)が最低になるクラス。

クラスの事後確率。数値行列として返されます。は,Mdl。Xの行数に等しい行と,学習デ,タ(尺寸(Mdl.ClassNames, 1))の個々のクラスの数に等しい列をもます。

后(j, k)は,Mdl。Xの行jの観測が与えられたクラスk(クラス)Mdl.ClassNames (k)内)の予測事後確率です。

予測誤分類コスト。数値行列として返されます。成本は,Mdl。Xの行数に等しい行と,学習デ,タ(尺寸(Mdl.ClassNames, 1))の個々のクラスの数に等しい列をもます。

成本(j, k)はクラスk(クラス)Mdl.ClassNames (k)内)で予測されるMdl。Xの行jの観測値の予測誤分類コストです。

詳細

すべて折りたたむ

誤分類コスト

“誤分類コスト”は,観測を誤ったクラスにラベル付けする分類器の相対的な重大度です。

誤分類コストには,真の誤分類コストと予測誤分類コストの2種類があります。Kをクラスの数と仮定します。

  • “真の誤分類コスト”K - K行列の行列で,真のクラスが我の場合,要素(i, j)は観測値をクラスj内で予測する誤分類コストを意味します。誤分類コストはプロパティMdl。成本に格納され,計算に使用されます。既定の設定では,jの場合にMdl.Cost (i, j)= 1で,jの場合Mdl.Cost (i, j)= 0です。まり,正しい分類のコストは0で,誤った分類では1です。

  • “予測誤分類コスト”- K次元のベクトルで,ここで,要素Kはクラス事後確率で重み付けされるクラスKに観測値を分類する加重平均誤分類コストです。

    c k j 1 K P Y j | x 1 ... x P C o 年代 t j k

    まり,観測値は最も低い予測の誤分類コストに対応するクラスに分類されます。

事後確率

"事後確率"はデ,タが与えられる場合に,観測値が特定のクラスに属している確率です。

単純ベ▪▪ズの場合,与えられた観測値(x .1x、…P)の分類がkになる事後確率は次のようになります。

P Y k | x 1 .. x P P X 1 ... X P | y k π Y k P X 1 ... X P

ここで

  • P X 1 ... X P | y k は,予測子がクラスkに含まれる場合の条件付き同時密度です。予測子の分布名はMdl。DistributionNamesに格納します。

  • π(Y = k)はクラスの事前確率の分布です。Mdl。Priorは事前分布を保存します。

  • P X 1 .. X P は予測子の同時密度です。各クラスは離散的なので,次のようになります。 P X 1 ... X P k 1 K P X 1 ... X P | y k π Y k

事前確率

クラスの"事前確率"は,母集団内でそのクラスの観測値が出現すると考えられる相対頻度です。

拡張機能

バ,ジョン履歴

R2014bで導入