このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
预测
単純ベ@ @ズ分類器の使用による観測値の分類
説明
例
単純ベ@ @ズ分類器の検定標本観測値のラベル付け
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);
事後確率と誤分類コストの推定
単純ベ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
CMdl
はCompactClassificationNaiveBayes
分類器です。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
PostProbs
とMisClassCost
は10
行3.
列の数値行列で,各行は新しい観測値に,各列はクラスに対応します。列の順序は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,“位置”,“最佳”)举行从
入力引数
Mdl
- - - - - -単純ベ@ @ズ分類モデル
ClassificationNaiveBayes
モデルオブジェクト|CompactClassificationNaiveBayes
モデルオブジェクト
単純ベ@ @ズ分類モデル。fitcnb
によって返されるClassificationNaiveBayes
モデルオブジェクト,または紧凑的
によって返されるCompactClassificationNaiveBayes
モデルオブジェクトとして指定します。
X
- - - - - -分類対象の予測子デ,タ
数値行列|テブル
分類対象の予測子デ,タ。数値行列またはテーブルを指定します。
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に観測値を分類する加重平均誤分類コストです。
まり,観測値は最も低い予測の誤分類コストに対応するクラスに分類されます。
事後確率
"事後確率"はデ,タが与えられる場合に,観測値が特定のクラスに属している確率です。
単純ベ▪▪ズの場合,与えられた観測値(x .1x、…P)の分類がkになる事後確率は次のようになります。
ここで
は,予測子がクラスkに含まれる場合の条件付き同時密度です。予測子の分布名は
Mdl。DistributionNames
に格納します。π(Y = k)はクラスの事前確率の分布です。
Mdl。Prior
は事前分布を保存します。は予測子の同時密度です。各クラスは離散的なので,次のようになります。
事前確率
クラスの"事前確率"は,母集団内でそのクラスの観測値が出現すると考えられる相対頻度です。
拡張機能
高配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は,高配列を完全にサポ,トします。この関数でンメモリデタまたはtallデタに対して学習を行ったモデルを使用できます。
詳細は,高配列を参照してください。
C/ c++コ,ド生成
MATLAB®Coder™を使用してCおよびc++コドを生成します。
使用上の注意事項および制限事項:
saveLearnerForCoder
、loadLearnerForCoder
およびcodegen
(MATLAB编码器)を使用して,関数预测
のコ,ドを生成します。saveLearnerForCoder
を使用して,学習済みモデルを保存します。loadLearnerForCoder
を使用して保存済みモデルを読み込んで関数预测
を呼び出す,エントリポ。次に,codegen
を使用して,エントリポ。预测
用の単精度c / c++コドを生成するには,関数loadLearnerForCoder
を呼び出すときに名前と値の引数“数据类型”、“单”
を指定します。次の表は,
预测
の引数に関する注意です。この表に含まれていない引数は,完全にサポ,トされています。引数 注意と制限 Mdl
モデルオブジェクトの使用上の注意および制限にいては,
CompactClassificationNaiveBayes
オブジェクトのコ,ド生成を参照してください。X
X
は,単精度または倍精度の行列か,数値変数,カテゴリカル変数,またはその両方を含むテーブルでなければなりません。X
の行数,または観測値の数は可変サX
の列数は固定でなければなりません。X
を表として指定する場合,モデルは表を使用して学習させたものでなければならず,かつ予測のためのエントリポイント関数が次を行うようにしなければなりません。デ,タを配列として受け入れる。
デ,タ入力の引数から表を作成し,その表内で変数名を指定する。
表を
预测
に渡す。
このテブルのワクフロの例にいては,表のデ,タを分類するためのコ,ドの生成を参照してください。コ,ド生成におけるテーブルの使用の詳細については、表のコ,ド生成(MATLAB编码器)およびコ,ド生成における表の制限事項(MATLAB编码器)を参照してください。
詳細は,コ,ド生成の紹介を参照してください。
バ,ジョン履歴
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。